接受的數據包不夠大怎么辦?
老師的Demo里面規定的接受大小是1024,也就是1M,實際開發過程我們并不知道會接受多大的數據報包啊,,,receive方法在接受的時候,也不會返回類似IO流里面的-1,所以也不能用while使他一直讀,那萬一不夠怎么辦?我也沒辦法實驗,是不是socket里面的數據報包傳給receive后里面就會為空呢?如果是這樣的話那到可以用While(socket!=null){socket.receive(packet);}來,求大神指點迷津啊,嘻嘻嘻嘻!
老師的Demo里面規定的接受大小是1024,也就是1M,實際開發過程我們并不知道會接受多大的數據報包啊,,,receive方法在接受的時候,也不會返回類似IO流里面的-1,所以也不能用while使他一直讀,那萬一不夠怎么辦?我也沒辦法實驗,是不是socket里面的數據報包傳給receive后里面就會為空呢?如果是這樣的話那到可以用While(socket!=null){socket.receive(packet);}來,求大神指點迷津啊,嘻嘻嘻嘻!
2017-02-12
舉報
2017-02-14
1024B等于1K。
2017-02-13
一般路由器最大傳輸1500字節,稱為MTU。相關你可以參照百度。所以推測比較大的文件肯定是分割傳送的。