专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

SOCKET发包顺序及接收时的有关问题

发布时间:2011-06-28 14:04:54 文章来源:www.iduyao.cn 采编人员:星星草
SOCKET发包顺序及接收时的问题
1使用TCP连接应该是按顺序收的吧,怎么样在发现完了通知服务器比较好呢?
2出现过这样一种情况,客户端向服务器发A数据,发完后又发B数据,服务器在接收B数据的过程中,又收到一次A数据。客户端只发送了一次,服务器为什么会收两次。虽然客户端有多个,但是我用IP和数据的内容确认了一下应该是同一个客户端的信息,并且客户端确实只发一次。怎么解释这样的事情,避免服务器处理重复数据呢?

------解决方案--------------------
1.自己定义个协议比如用"完了"付在信息后,告诉发送结束。
2.udp会出现这种现象。
------解决方案--------------------
1、TCP有CRC校验,如果前后包的CRC一致说明已经结束,给服务器发送消息
2、应该是服务端响应的问题吧,比如服务器在接收完报文的时候没有给客户端消息,客户端发一定时间后继续发送同一报文
------解决方案--------------------
楼主用的UDP吧,改TCP不就行了。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: