基于UDP数据传输时byte[]长度设置问题

lovelyfirefox 2003-09-14 10:50:46
基于UDP数据传输时,是把一个byte[]作为参数放入DatagramPacket中传递的,
1. 发送端的byte[] 长度是否应和接收端的长度保持一致,
2. 如果这样,我设置发送的长度是否就应为定长,
3. 要发送的数据会有长有短,短的可能就几十个byte,长的有可能是一篇文章,那么,设置多长的byte[]比较合适:256,512...???
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bd4ji 2003-09-14
  • 打赏
  • 举报
回复
发送端应该是按照发送内容大小设置的。

下面是很久以前写的一个程序的一部分:
public void send(RtpPacket sendRtpPacket){
DatagramPacket sendPacket = new DatagramPacket(sendRtpPacket.getData(),sendRtpPacket.getData().length);
try{
DatagramSocket sendSocket = new DatagramSocket();
for (int i=0;i<destinationList.size();i++){
DestAddress destAddress = (DestAddress)destinationList.get(i);
sendPacket.setAddress(destAddress.inetAddress);
sendPacket.setPort(destAddress.port);
sendSocket.setSendBufferSize(sendPacket.getLength());
sendSocket.send(sendPacket);
sendsequenceNumber ++;
sCount ++;
}
}
catch (Exception e){
e.printStackTrace();
}
}
Keepers 2003-09-14
  • 打赏
  • 举报
回复
256吧,其实这个关系不是很大

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧