TCP收发怎么解决同步的问题

谁学逆向工程 2016-11-09 01:52:40
我现在是电脑和安卓手机在局域网内收发信息,收发的内容是数据库表的字段。
电脑的代码是连续4个发送,手机的代码是4个连续的接收。那么问题来了,由于速度差异,电脑发送了3个之后,手机才开始第一次调用接收。这样手机就可能在第一次接收时把3个字段接收到第一个缓冲区去。
求个解决思路!
...全文
204 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-11-10
  • 打赏
  • 举报
回复
引用 3 楼 xiaoyuanyuan2009 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] http://bbs.csdn.net/topics/380167545
这个贴里面争论的好热闹啊。看了一下,主张TLV格式的比较多。假设type用4字节的 int 表示,length 用4字节的int 表示。那最少要接收8字节才能正常为后续内容开辟足够缓冲区。那么问题来了,TCP发送的时候会不会少于8字节。 作为接收端,我也只能假设对方成功为我方发送8字节有效数据,这是最起码的么[/quote] 深刻理解我在这个帖子里面说的话。
谁学逆向工程 2016-11-10
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
http://bbs.csdn.net/topics/380167545
这个贴里面争论的好热闹啊。看了一下,主张TLV格式的比较多。假设type用4字节的 int 表示,length 用4字节的int 表示。那最少要接收8字节才能正常为后续内容开辟足够缓冲区。那么问题来了,TCP发送的时候会不会少于8字节。 作为接收端,我也只能假设对方成功为我方发送8字节有效数据,这是最起码的么
赵4老师 2016-11-09
  • 打赏
  • 举报
回复
不知道有多少前人掉在TCP Socket send(人多)send(病少)send(财富) recv(人多病)recv(少财富) 陷阱里面啊! http://bbs.csdn.net/topics/380167545
jiqiang01234 2016-11-09
  • 打赏
  • 举报
回复
自定义包格式,解析分包

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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