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

完成端口接收数据丢掉

2013-09-06 
完成端口接收数据丢失如题:用TCP协议写的完成端口,但是完成端口不能获得发送端发送的所有数据,这是什么原

完成端口接收数据丢失
如题:
用TCP协议写的完成端口,但是完成端口不能获得发送端发送的所有数据,这是什么原因呢?用抓包软件发现其实服务器端把所有的数据都接收到了,但是完成端口的程序并没有把所有的数据获取到! 完成端口??接收数据?丢失数据
[解决办法]
你先调试下代码, 用抓包工具确认下 是否已经发送了那么多数据过来

对方PSH数据过来, 有没有得到对应的ACK的回复!

检查的你的接收接口api有没有问题!

[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

你先调试下代码, 用抓包工具确认下 是否已经发送了那么多数据过来

对方PSH数据过来, 有没有得到对应的ACK的回复!

检查的你的接收接口api有没有问题!


抓包工作 包都抓到了!但是程序并没有把所有的数据都取到!


抓包抓到了 对应的PSH 回复了对应的ACK了没?


这个也抓到了,就是完成端口的程序取数据的时候出现了错误!


那就是你接收数据出了问题吧!

包头中加入后面数据长度,发送端给包加个索引号


你这意思需要服务器端给客户端发送确认信息了?


不是! 服务端在发送包头里加这些字段, 客户端接收到信息后,读这些字段,来判断需要获取的数据大小!


还是不是很明白你的意思, 客户端和服务器端还是需要数据的交互?


现在发包 为了确保能完全接收到数据,都会在包头里加上数据的长度,然后客户端先接收定长包头,然后根据包头里的数据长度来接收后面的数据的!

热点排行