iOS使用socket通信分包问题。 3C

事情是这样的:iOS使用socket通信TCP协议,接收大数据时,服务器将数据分包下发(当然有制定协议)。我用的是CocoaAsyncSocket (7.4.3)。但接收到的数据包有时从中间断开,导致解析数据时出错。如何把所有的分包接收到再解析呢?求大虾帮帮忙啊~或者提供下有使用CocoaAsyncSocket 进行分包接收数据的类似资料给我自个学习也行。大神帮帮忙~

2个回答

楼主所说的中间断开,如果是网络层面的断开,那么你的协议就需要覆盖到这部分。类似资料没有,思路倒是有一些。你的协议需要记录目前接收的数据量,网络中断的时候没接收完整的分包就丢弃,等重连的时候与服务端协商从中断的地方开始发送。其实就是下载工具中短点续传的思想吧。

可以参考ip协议的实现。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐