社区
网络编程
帖子详情
UDP传输包长8K和20K的传输机制有什么区别
zzj2417
2010-10-25 10:21:34
我现在碰到个很奇怪的问题,用相同速率传送数据包,一个包传20K的不会丢包,传8K却会出现丢包。。。谁能帮我解释下???
...全文
264
8
打赏
收藏
UDP传输包长8K和20K的传输机制有什么区别
我现在碰到个很奇怪的问题,用相同速率传送数据包,一个包传20K的不会丢包,传8K却会出现丢包。。。谁能帮我解释下???
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
用户 昵称
2010-10-25
打赏
举报
回复
没什么,包越小,丢包机率越大。
zzj2417
2010-10-25
打赏
举报
回复
[Quote=引用 3 楼 jackson35296 的回复:]
楼主的问题应该排查这种丢包原因:接包速度小于发包速度导致丢包。
UDP是无连接的,当接收端接收不过来时,发送端也不会降低发送速度,当发送的字节 - 接收字节 > 网卡缓冲区 时,网卡就把多余的包丢弃。在TCP协议中,当缓冲区接近满时,网卡会通知发送端降低发送速度,而UDP不会
通常是下面这种情况造成
发送端:
while()
{
SentTo()
...//其他的逻辑用时50……
[/Quote]谢谢虾哥的留言,我加Sleep调试下看看吧
jackson35296
2010-10-25
打赏
举报
回复
楼主的问题应该排查这种丢包原因:接包速度小于发包速度导致丢包。
UDP是无连接的,当接收端接收不过来时,发送端也不会降低发送速度,当发送的字节 - 接收字节 > 网卡缓冲区 时,网卡就把多余的包丢弃。在TCP协议中,当缓冲区接近满时,网卡会通知发送端降低发送速度,而UDP不会
通常是下面这种情况造成
发送端:
while()
{
SentTo()
...//其他的逻辑用时50ms
}
接收端
while()
{
RecvFrom()
...//处理数据的逻辑用时100ms
}
由于100ms > 50ms,如果数据量较大,发送-接收>网卡缓冲区,则丢包
对于这个问题的排查,可以在发送端加sleep()进行测试,降低发送速度。如果要实现快速接收,接收的循环里不允许做费时操作,要维持一个缓冲队列,收到数据后直接扔到缓冲区,由另外一个线程从队列中取出数据再处理。总之,不要在接收线程里处理数据。
jhayumu
2010-10-25
打赏
举报
回复
UDP 本来就会掉包,如果不想丢包,改用TCP
zzj2417
2010-10-25
打赏
举报
回复
没有人能回答下吗?急啊
zzj2417
2010-10-25
打赏
举报
回复
我发现UDP包小了但是发送太快(用循环发送)就会丢包,包大点用循环就没事,当然不能超过64K,大概20K左右最稳定。。主要问题还是没解决,我现在想用精确到100微秒的计时器来每次发送一个,因为循环的话执行一次的时间是1纳秒。。发送太快了,各位大侠谁给个计时器的介绍,要微秒级别的!!!
herm_lib
2010-10-25
打赏
举报
回复
根据IP分片原理,udp包越大丢包概率越高。
herm_lib
2010-10-25
打赏
举报
回复
发udp包,如果大于一定长度(一般512bytes)就会IP分片。
传8K, 分成16个分片,只要其中1片丢了,整个传输失败。
开发一年不到,来面试居然敢开口要
20K
,面完连
8K
都不想给~
前言 我的好朋友兼大学同学老左家庭经济情况不错,毕业之后没两年自己存了点钱加上家里的支持,自己在杭州开了一家网络公司。由于公司不是很大所以公司大部分的开发人员都是自己面试的,近期公司发展的不错,打算扩招也面试了不少人。 前两天老左跟我聊天说他面试了一个Java开发工作才一年不到的小伙儿,居然张口敢就说自己预期薪资
20K
,老左一问三不知,不要说高并发、分布式、这些基础的技术还有很多他都不太清楚,大多数人的开发工作经验只是CRUD起的,性能调优这些就更不要问了,还停留在SSM这些基础层面,更别说分布式、高并发
Java开发一年不到,来面试居然敢开口要
20K
,面完连
8K
都不想给
它提供了对TCP、
UDP
和文件
传输
的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener
机制
,用户可以方便的主动获取或者通过通知
机制
获得IO操作结果。对比我的面经和其他大佬的面经,自己真的是运气好。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。Netty 与RPC。
2025全网蕞硬核硬件工程师全攻略:从月薪
8K
到
20K
的嵌入式逆袭:这份大纲里藏着 90%从c语言到架构、内核、驱动的爆肝归纳秘籍,资深工程师耗时 2 年打磨
摘要:本文系统梳理了嵌入式开发的核心知识体系,从Linux系统基础、C语言高级编程、数据结构算法,到并发编程、网络通信、数据库应用及C++开发,构建了完整的嵌入式技能树。重点解析了Linux环境搭建与Shell自动化、C语言内存管理与硬件交互、数据结构优化策略、多线程同步
机制
、TCP/IP协议栈实现、SQLite嵌入式数据库应用,以及C++面向对象设计在嵌入式领域的实践。通过实际代码示例(如多线程同步、TCP服务器/客户端、传感器抽象类设计)演示了关键技术的工程实现,为开发者提供了从理论到实战的完整学习路径
Java开发一年不到,来面试居然敢开口要
20K
,面完连
8K
都不想给~
我的好朋友兼大学同学老伍家庭经济情况不错,毕业之后没两年自己存了点钱加上家里的支持,自己在杭州开了一家网络公司。由于公司不是很大所以公司大部分的开发人员都是自己面试的,近期公司发展的不错,打算扩招也面试了不少人。
linux nfs传大文件报错,NFS mount 大文件时出错~
先在目标机上NFS MOUNT了宿主机的一个文件夹,当将此文件夹中的内容CP到目标机内时,出现几个现象:一个是CP HELLO文件夹时,正常,HELLO文件夹内文件最大为13K+但
传输
较大的文件时,如
20k
+的文件时,出错:NFS: server 192.168.0.94 not responding,still trying...在网上搜资料,发现下面的这个比较靠谱,怀疑可能是NFS有问题,与...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章