socket如何让接收与发送不相互影响

云满笔记 2013-04-09 09:57:54
我现在在一个较复杂的网络通信系统,收到的数据是要进行分割操作的,也就是发来的数据是多次发送来的,首先会有一个控制头,里面标明数据长度有多少个,再紧接着就是数据了,这个数据有很多段,分几批发送过来的,我想如果我收到数据的话,肯定要对其进行解析(需要时间操作),如果远程服务端又发来了数据,那不就要影响我的接收吗,这怎么处理
...全文
151 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcbuzhiming 2013-04-09
  • 打赏
  • 举报
回复
socket本身就是双工的,发送接收不互相影响,tcp传送信息时时基于流的,如果你要拼接信息,必须在应用层拟定一个协议让双方按照这个协议发送、校验和拼接数据
无言猪 2013-04-09
  • 打赏
  • 举报
回复
建队列,另起一个处理数据的任务,读网络的任务把数据放入队列,处理数据的任务读队列处理,额外的工作就是保证队列读写指针的同步.
wawLwxj 2013-04-09
  • 打赏
  • 举报
回复
用消息机制或者是起一个工作者线程处理数据!

18,356

社区成员

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

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