浏览 548 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-09-05 关键字: DatagramPacket DatagramSocket
由于需要,做一个关于UDP方面的通信模拟。使用DatagramPacket和DatagramSocket,模拟udp接收信息。代码如下:
DatagramPacket packet;
DatagramSocket socket;
byte[] recvBuf = new byte[500];
try {
// 创建udp包以接收数据。
packet = new DatagramPacket(recvBuf, recvBuf.length);
// 创建接受方的udp端口以接收数据
socket = new DatagramSocket(7002);
} catch (Exception e) {
}
}
后面我会用到socket.receive(packet);这个方法。但由于发送方发过来的数据可能会很大,估计数组recvBuf 无法满足要求,想用那种没有边界的对象接收数据(比如让该数据无限大)。考虑DatagramPacket 类必须在初始化时给byte数组类型的参数,所以不想用他了,但是在socket.receive(packet);这里却必须用到,请问有没有比较好的方式来解决这种问题? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-09-05
问题搞明白了:原来udp传送数据是有最大值的,所有byte数组就没有必要设的很大了!
|
|
| 返回顶楼 | |


