DatagramSocket ds = new DatagramSocket(10000);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,0,buf.length);
ds.receive(dp);
String data = new String(dp.getData(), 0, dp.getLength());
ds.close();
上面的代碼可以接收UDP發送來的數據。
但我想知道,下面幾個問題:
1.怎麼實時接收別人發送過來的數據呢?
例:我不知道別人什麼時候發數據給我,我該怎麼做到實時接收別人發給我的數據?
2.如果沒有及時接受別人的發過來的數據,會出現什麼狀況?
例:別人發送了數據給我,我卻沒有實時接收,那麼這算是發送失敗?還是發送過來了,緩存在什麼地方?
3.如果有緩存,怎麼設置緩存大小?
請高人指點。。。。
UDP 多線程服務端 和 簡單客戶端
【Java TCP/IP Socket】TCP Socket(含代碼)