黑马程序员技术交流社区

标题: DatagramPacket数据包的发送与接收缓冲区的问题 [打印本页]

作者: 行如止水    时间: 2014-3-3 01:19
标题: DatagramPacket数据包的发送与接收缓冲区的问题
DatagramPacket的构造方法都可以接受一个byte数组用来发送和接受,而且都要指定数组的长度或偏移量;
这样问题就来了,接受者不知道发送的数据长度,因此定义的byte数组可能很不合理,少了的话数据还无法接受;
我想知道这种问题应该如何解决,还是在Java的底层或是更高级的应用里能有解决这种问题的方法?

作者: 平凡成就非凡    时间: 2014-3-3 01:40
UDP协议的数据包,大小是64k。如果你怕发送的数据量大而你的字节数组小啦。你可以这样
byte[ ] buf=new byte[1024*64];就不会装不下啦
作者: 行如止水    时间: 2014-3-4 11:18
平凡成就非凡 发表于 2014-3-3 01:40
UDP协议的数据包,大小是64k。如果你怕发送的数据量大而你的字节数组小啦。你可以这样
byte[ ] buf=new byt ...

应该也没有其他的方法,对方发来的数据长度应该是无法预知的。但这种直接定义最大数组长度的做法是不是也太勉强了……
作者: 平凡成就非凡    时间: 2014-3-4 11:22
行如止水 发表于 2014-3-4 11:18
应该也没有其他的方法,对方发来的数据长度应该是无法预知的。但这种直接定义最大数组长度的做法是不是也 ...

是没办法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2