[問題] Socket等待逾時與封包大小的問題

看板java作者 (Rex)時間17年前 (2008/11/04 09:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
想向板上的大大們請益兩個問題 1. 要怎麼寫「等待接收封包時間是有限制」的程式碼呢? 也就是說,等待接收封包,過了一陣子沒收到封包後就不等了, 然後可以知道逾時沒收到封包,然後顯示訊息接續其他程式碼之類的? (Socket/MulticastSocket 有哪些現成可用的 method 嗎?) 2. 有沒有辦法動態調整接收封包的大小呢? 因為我的接收封包,是用來接收字串的,每次都不固定大小, 我又用固定大小的陣列 (byte[1024]) 來存取, 輸出到螢幕的時候,後面會接一堆空白, 有什麼好辦法處理呢?甚至可以偵測實際收到的封包大小呢? 以下是用 MulticastSocket 與 DatagramPacket 接收封包 (應該與一般的 Socket 差不多) MulticastSocket mSocket; DatagramPacket pack; byte data[] = new byte[1024]; try{ // 準備接收封包 pack = new DatagramPacket(data,data.length,group,port); // 等待接收封包 mSocket.receive(packReceive); // 輸出 String str = new String(data,"UTF8"); System.out.println(str); }catch(Exception e){ System.out.println(e); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.18.7
文章代碼(AID): #193wSPir (java)
文章代碼(AID): #193wSPir (java)