QT 中readyread串口数据不全问题

痞子灬熊 2018-12-17 03:25:41
大佬们,我想问一下 在一个服务端对应n个客户端时,如果客户端发送超长文本而服务端进行接受的话,会发生单次收取不全的情况,可能要收取两次或更多。 如果是一个服务端对应一个客户端的话可以对数据进行循环收取直到数据发送完毕为止。那么多客户端该怎么做啊…… 我现在的思维是对数据进行数据头和数据尾添加识别语句(比如:#xxxx#)。把不全且有数据头的数据添加到vector内。如果接受到了一段未有数据头的但有数据尾的数据就查找vecotr内对应socket发送的数据并连接字符串并提出。头尾都没有的对照socket进行连接但不提出。 不过这么做我觉得有bug。就是如果超长数据是同一socket发出的,那么会不会出现a尾对应b头的情况,导致字符串连接非法…… 综上:该怎么做才能避免这类事情的发生
...全文
479 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Milut 2021-10-08
  • 打赏
  • 举报
回复

楼主解决了吗这个问题,我也遇到了

痞子灬熊 2021-10-09
  • 举报
回复
@Milut 已经解决了,是需要自拟协议对文本进行封装处理
痞子灬熊 2018-12-23
  • 打赏
  • 举报
回复
引用 3 楼 ooolinux 的回复:
Qt不在这个版。
阿勒……那我换个版
ooolinux 2018-12-22
  • 打赏
  • 举报
回复
Qt不在这个版。
痞子灬熊 2018-12-21
  • 打赏
  • 举报
回复
.......
痞子灬熊 2018-12-19
  • 打赏
  • 举报
回复
………没人嘛……

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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