首页
社区
课程
招聘
关于socket tcp recv过程交流。
发表于: 2022-1-11 03:55 7473

关于socket tcp recv过程交流。

2022-1-11 03:55
7473

之前做了个模型、
第一步recv收到的数据时解析(可能1包内包含多个完整包或者多个包=1个完整包)此步骤全在recv下完成,请教这合理吗?

 

第二步得到完整包后提交线程池处理(此处可能发生多个包提交一次线程池,或者一个包提交多个线程池,全看粘包情况)

 

以上是我简单架构的recv数据处理模型,这样做合理吗?
大伙右是如何处理的呢?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 22413
活跃值: (25376)
能力值: ( LV15,RANK:910 )
在线值:
发帖
回帖
粉丝
2
如果是我,我会弄个固定的数据结构来保存数据包。recv的数据填充好这个结构以后在给线程处理
2022-1-11 13:22
0
雪    币: 212
活跃值: (1317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
粘包这是编程者自己想出来问题
2022-1-11 15:02
0
雪    币: 212
活跃值: (1317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
固定的数据结构来保存数据包。recv的数据填充好这个结构以后在给线程处理,每次发送这个结构就是整体,业务数据逻辑必须有必要的数据切分符号,依靠数据包来做业务逻辑切分想法是十分不明知的做法,同时注意数据逻辑的切分符,转意符的关系,同时有效处理二义性问题就OK
2022-1-11 15:05
0
雪    币: 772
活跃值: (992)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最理想型就是自己完成pull模型
2022-7-18 17:26
0
雪    币: 2402
活跃值: (6808)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
6
根据send,recv封装一个sendPacket,recvPacket函数
2022-7-18 20:09
0
游客
登录 | 注册 方可回帖
返回
//