社区
Java SE
帖子详情
基于UDP数据传输时byte[]长度设置问题
lovelyfirefox
2003-09-14 10:50:46
基于UDP数据传输时,是把一个byte[]作为参数放入DatagramPacket中传递的,
1. 发送端的byte[] 长度是否应和接收端的长度保持一致,
2. 如果这样,我设置发送的长度是否就应为定长,
3. 要发送的数据会有长有短,短的可能就几十个byte,长的有可能是一篇文章,那么,设置多长的byte[]比较合适:256,512...???
...全文
65
2
打赏
收藏
基于UDP数据传输时byte[]长度设置问题
基于UDP数据传输时,是把一个byte[]作为参数放入DatagramPacket中传递的, 1. 发送端的byte[] 长度是否应和接收端的长度保持一致, 2. 如果这样,我设置发送的长度是否就应为定长, 3. 要发送的数据会有长有短,短的可能就几十个byte,长的有可能是一篇文章,那么,设置多长的byte[]比较合适:256,512...???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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吧,其实这个关系不是很大
计算机网络 传输层 TCP和
UDP
协议
Re: 计算机网络 传输层 TCP和
UDP
协议# 传输层协议 TCP 和
UDP
的应用场景 要发送的内容多,需要将发送的内容分成多个数据包发送(TCP) 要发送的内容少,一个数据包就能发送全部内容(
UDP
)# 传输层协议和应用层协议之间的关系 传输层协议加一个端口号来标识一个应用层协议, 展示了传输层协议和应用层协议之间的关系# 使用TCP/IP筛选实现网络安全 防火墙
设置
与端口#
UDP
协议特点和报文格式
UDP
是无连接的:即发送数据之前不需要建立连接
UDP
使用尽最大努力交付:即不保证可靠交付,因此主机不需要维持复杂的连接状态表# TCP 协议特点和报文格式先连接后释放;点对点;可靠传输;全双工通信;面向数据流七项标记位停止等待协议与改进的停止等待协议滑动窗口技术详解:确认Seq与选择确认SACK 超
时
重传
时
间:查询计算与自动调整 流量控制功能:点对点的流量控制 拥塞控制:相对整体网络环境而言;慢开始算法和拥塞避免算法 改进的拥塞控制:快重传和快恢复 三次握手建立TCP连接,四次挥手释放连接。# TCP 协议面临的攻击 SYN 攻击:捏造的源地址; LAND攻击:自己就是源地址# 通过抓包工具,查看以上报文格式# 习题详解
UDP
和TCP最大
数据传输
长度
#
UDP
和TCP最大
数据传输
长度
UDP
可发送的数据最大
长度
为IP包的最大
长度
减去IP头部和
UDP
头部的
长度
, 不过,这个
长度
为MTU,MSS不是一个层面上的概念。MTU和MSS是基于以太网和通信线路上网络包的最大
长度
来计算的,而IP包的最大
长度
是由IP头部中的“全长”字段决定的。“全长”字段的
长度
为16比特,因此从IP协议规范来看,IP包的最大
长度
为65535字节,再减去IP头部和
UDP
头部的
长度
,就是
UDP
协议所能发送的数据最大
长度
。如果不考虑可选字段的话,一般来说ip头部为20字节,
UDP
头部为8字节
TCP和
UDP
数据传输
方式
TCP和
UDP
数据传输
大致步骤
java获取
udp
报文的
长度
_
UDP
的最大报文
长度
对于以太网环境下
UDP
传输中的数据包
长度
问题
首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。其中以太网(Ethernet)的数据帧在链路层IP包在网络层TCP或
UDP
包在传输层TCP或
UDP
中的数据(Data)在应用层它们的关系是数据帧{IP包{TCP或
UDP
包{Data}}}在应用程序中我们用到的Data的
长度
最大是多少,直接取决于底层的限制。我们从下到上分析一下:在链路...
细节!
UDP
最大传输报文
长度
是512字节还是1472字节?
疑问 今天学习DNS服务器的
时
候,发现,DNS使用的通信方式,有
UDP
和TCP两种。一般情况下使用的是
UDP
进行DNS域名查询。但是,在以下两种情况会使用TCP进行域名查询: 但是,这里就有个
问题
了。
UDP
支持的最大数据不是受限于以太网帧的MTU1500字节吗?那么计算下来,也应该是1500-20-8=1472字节啊。怎么就是512了? 解答 进行了一波搜索,终于找到原因了。以太网帧在局域网中的MTU是1500
byte
,但是在非局域网环境,如:internet下的
时
候,MTU是各个路由器进行一个配置的。所
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章