如何处理GCDAsyncSocket类TCP连接发送数据粘包

iOS 码拜 8年前 (2016-01-31) 1823次浏览
本人用GCDAsyncSocket类创建了一个TCP连接,在ipad上运行,本人是客户端,服务器端在另一台windows的电脑上。本人从客户端快速的发送数据到服务器端的时候,发现本人这边的数据是一组一组单独发的。但是到了服务器端,接收时是几组数据一起接收的。造成服务器端的界面刷新不流畅。本人用了另一个客户端,检查了觉得应该不是服务器端的问题。应该是IOS这边发送时就是要积攒够包数才发。这个怎么解决呢,本人知道在window中可以设置注册表中的TCPAckFrequency值设置为有一个包也直接发送。但是在IOS中不知道怎么设置
解决方案:20分
包标识(固定长度)包长度(固定长度)包数据(不定长)
发送端按这个格式去封装数据包,接收端收到数据后按照这个格式去解析数据。
耗时操作建议另起线程去处理。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明如何处理GCDAsyncSocket类TCP连接发送数据粘包
喜欢 (0)
[1034331897@qq.com]
分享 (0)