KeepBreathing
KeepBreathing
采纳率0%
2016-08-01 07:18 阅读 1.4k

iOS使用socket通信分包问题。

3

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • esetup esetup 2016-08-01 07:31

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

    点赞 评论 复制链接分享
  • u012487695 MemoryReload 2016-08-02 19:23

    可以参考ip协议的实现。

    点赞 评论 复制链接分享

相关推荐