求大佬解决c#网络传输问题

易鑫666 2019-12-29 01:22:47
项目做出来有问题,详见 https://github.com/yixinNB/cs-internet
...全文
458 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫雁 2020-03-29
  • 打赏
  • 举报
回复
还不如直接用wcf,凡是网络通讯技术上没说的,容错要占了一大半,毕竟不知道何时断网,还是传输超时的问题,各种断线重试,断点重传,都是正常的。
wanghui0380 2019-12-29
  • 打赏
  • 举报
回复
udp是特例,udp常规情况不用考虑这块。常规上能选择udp的都是短小,快速的包。不存在粘包处理(分包因为udp大多数情况都是短小快速,所以正常不会出现分包,当然如果说发送方非要搞了超大包,我们也没办法,只能说这个发送方要挨板子,都选择udp了,你发啥大包来着,udp这么容易丢,小包丢了就丢了,你快速发下个包就是,大包丢了可没地方找)
wanghui0380 2019-12-29
  • 打赏
  • 举报
回复
没看你的项目,不过从楼上贴的图来看,又是老问题。 这块成net版的老大难了,回复无数回了(串口,udp,tcp)- 但凡这类通讯首先需要明白“并不是你触发一次就代表那是一条指令” 所以xxxxx[0] 不等于那是一条指令的开头。 个人建议,直接使用dotnetty开发把,至少人家帮你把常规的东西搞了,如果是特殊的东西(基本上如果你都做到特殊的东西了,拿表示你基本已经能理解什么叫通讯协议了,直接继承了实现也没问题)
huakai2418 2019-12-29
  • 打赏
  • 举报
回复
其他的咱暂时不好说,不过有以下两点需要注意:
1.不要每次都申请2M的buffer
2.length==0会不会出现呢,可以防护,length==1确定是有可能出现的,那么空行肯定就会有了
asq985 2019-12-29
  • 打赏
  • 举报
回复
有啥问题,你直接说噻

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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