完成端口 拼包

ostrich2fly 2007-11-09 02:16:41
有一个服务器,同时处理many客户端的请求,客户端有时候可以向这个服务器发送比较大的数据包,如4k+,这个时候 TCP/IP会把数据包给截断,在服务器上 怎么用完成端口处理这样的问题呢?
不能把来自两个客户端的不同包的片段 拼在一起,这个怎么保证呢?如果定义包的协议,也没有办法确定 是否拆包啊?

我是初学者,请指教。
...全文
214 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
monkeyfu 2007-11-14
  • 打赏
  • 举报
回复
通过包的地址来源进行区分, 或者在包中加入区分标示符号.
另外, 拼包过程如果还涉及到其他较为复杂的操作, 建议放到其他的线程中去完成. 为了保证效率,IOCP工作线程应该尽量处理I/O的请求.
csy_2002 2007-11-12
  • 打赏
  • 举报
回复
直接WSARecv收4K的数据就可以了啊
僵哥 2007-11-11
  • 打赏
  • 举报
回复
楼主的这个问题跟完成端口没有任何关系,完全可以使用断点续传的概念来解决问题。

18,357

社区成员

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

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