首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

延续发送数据粘包的处理

2013-07-09 
连续发送数据粘包的处理在程序中,客户端第一步向服务器发送80B的文件信息,然后立即开始循环发送文件内容,

连续发送数据粘包的处理
在程序中,客户端第一步向服务器发送80B的文件信息,然后立即开始循环发送文件内容,大小为4096B。服务器使用的是完成端口接收信息,但是服务器始终无法接收到文件内容的第一个8096B,如果让客户端在发送80B的文件信息过后,Sleep一下,就能完整的接收整个文件。感觉应该是粘包了,想知道怎么处理?!
[解决办法]
服务器给客户端反馈
[解决办法]
每次都握手确认
[解决办法]
粘包的解决办法是加确认?!这是何等的本末倒置?

数据都收到你的buffer里面了,你还分不开(数据是怎么排列的你是知道的,因为是你写的客户端,或者你知道客户端的协议)
[解决办法]
数据都给你了,你还分不出来。第一个80字节你拿出来,这不就是头了,剩下的多于4096的话,拿出4096,就是一个包,循环直到剩下的包小于4096,然后继续接收数据append到buffer的后面,又开始拿4096字节(如果有的话,不够就再接收)

热点排行