首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GCDAsyncSocket如何识别传入消息的结束

GCDAsyncSocket如何识别传入消息的结束
EN

Stack Overflow用户
提问于 2014-10-18 22:20:59
回答 1查看 169关注 0票数 0

很容易理解,我们可以使用以下方法来识别传入消息的结束,例如: 1.将消息的长度放在数据本身之前2.使用分隔符。

然而,GCDAsyncSocket提供了一个更全面、更智能/更通用的解决方案。它似乎使用低级的TCP协议来识别消息的开始和结束。

它是怎么制造的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-19 03:03:56

GCDAsyncSocket只使用TCP流。TCP流本身并不定义“消息”,顾名思义,它们只是字节流。

GCDAsyncSocket添加了一些方便的方法,使事情变得更容易一些。

  • 当接收到指定数量的字节时,readDataToLength:withTimeout:tag:和相关方法会自动完成读取--这可以与您提到的第一个选项一起使用。
  • readDataToData:withTimeout:tag:允许您指定终止符序列,并在接收到它时自动完成读取--这是您提到的第二个选项。

TCP本身并不支持这些功能,GCDAsyncSocket的作者只是在原始流的基础上实现了这些解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26445135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档