完成端口中,一个socket发起多个异步写操作,客户端接收到的包顺序是什么样的?

mgphuang 2006-03-30 10:32:46
如题,注是多线程处理完成结果.
...全文
296 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
softrain 2006-03-31
  • 打赏
  • 举报
回复
如果发送缓冲区够大,你的包不会被分割,不过不同线程发送的包的顺序就是未知的。
所以你的包里要有足够信息可以解释你的包是什么样的。其他的自然也就可以解决了。
test2002 2006-03-31
  • 打赏
  • 举报
回复
mark
abrams2004 2006-03-31
  • 打赏
  • 举报
回复
多线程向一个socket发包要同步,不然就可能乱序。
madmanahong 2006-03-30
  • 打赏
  • 举报
回复
这个顺序当然不定了,和是否使用了IOCP没关系!

使用普通发送顺序也不定阿!

louifox 2006-03-30
  • 打赏
  • 举报
回复
发往一个客户端的包可以用iocp的任意一个线程来处理。
louifox 2006-03-30
  • 打赏
  • 举报
回复
你的包加个编号就可以区别了啊
mgphuang 2006-03-30
  • 打赏
  • 举报
回复
按这样说的话,发往一个客户端的包,只能由一个线程来处理,或者由多个线程就要加锁了?无法使用并发处理了?
covsno 2006-03-30
  • 打赏
  • 举报
回复
不能假设知道到包顺序
只能你自己重组包的时候根据事先设计好的标志判断
lifengice0706 2006-03-30
  • 打赏
  • 举报
回复
wsasend还会存在部分发送问题,最终估计会有很多种结果!没必要这样做吧!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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