接受的数据包不够大怎么办?

来源:4-2 编程实现基于 UDP的 Socket 通信之服务器端

律生息

2017-02-12 19:23

老师的Demo里面规定的接受大小是1024,也就是1M,实际开发过程我们并不知道会接受多大的数据报包啊,,,receive方法在接受的时候,也不会返回类似IO流里面的-1,所以也不能用while使他一直读,那万一不够怎么办?我也没办法实验,是不是socket里面的数据报包传给receive后里面就会为空呢?如果是这样的话那到可以用While(socket!=null){socket.receive(packet);}来,求大神指点迷津啊,嘻嘻嘻嘻!

写回答 关注

2回答

  • 千百度宝宝
    2017-02-14 02:43:55

    1024B等于1K。

    律生息

    。。。谢谢提醒啊

    2017-02-14 09:17:05

    共 1 条回复 >

  • GrimNew
    2017-02-13 18:51:30

    一般路由器最大传输1500字节,称为MTU。相关你可以参照百度。所以推测比较大的文件肯定是分割传送的。

    律生息

    搜嘎,长知识了,谢谢,我之前还不知道路由器最大传输是1500字节,,,

    2017-02-13 19:00:29

    共 1 条回复 >

Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125012 学习 · 590 问题

查看课程

相似问题