用socket发送大文件的一些问题(局域网+UDP)

zj514394212 2010-12-11 08:29:14
不知道是什么原因,丢包率太大了,30%到40%,接收线程我已经最简化了,只接收原始数据包,数据包是自己定义的,每个1024字节,还有一个处理数据包线程,处理socket线程接收的数据包,这个太夸张了吧,我的socket类型是
SendSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
还有每次接收端处理数据都会占用大量的CPU时间(90%以上),不知道怎么解决,另外请教一个丢包验证的效率方法
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-12-11
  • 打赏
  • 举报
回复
分包发送
控制每次send的时间间隔。
有必须的话可以采用异步响应的试,等收到对方的响应之后再传下一部分。
TCP的连接控制协议只能在一定范围内控制流量,一旦流量过大,超过其网络负载,时间一长,缓存空间不够的时候数据丢失
jieon 2010-12-11
  • 打赏
  • 举报
回复
最近也研究UDP来着,是不缓冲区满的原因。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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