读书人

初学者发问 怎么在TCP连接的基础之下

发布时间: 2012-09-28 00:03:35 作者: rapoo

菜鸟发问 如何在TCP连接的基础之上实现同步
可能题目没阐述清楚
A 端

C/C++ code
char buf1[] = {.....};int size1 = ...;char buf2[] = {.....};int size2 = ...;send(con, buf1, size1, 0);send(con, buf2, size2, 0);


B 端
C/C++ code
char buf1[] = {.....};int size1 = ...;char buf2[] = {.....};int size2 = ...;recv(con, buf1, size1, 0);recv(con, buf2, size2, 0);


我的程序运行时,A端发送的数据buf1, buf2后,
B端总是把A端发送的两部分数据全部接收到了B端的buf1中。
可是 我想让A,B两端的两个缓冲一一对应。
请各位高手指教......


[解决办法]
不可能
这种情况叫做黏包
解决方法是自行制定协议
接收方放对数据作为流来处理
根据包头包尾把数据包解析出来
[解决办法]
这个需要你自己组装包来进行分析,发送的包跟到的包不可能这么一一对应

读书人网 >VC/MFC

热点推荐