ios - 使用 iOS 设置 TCP_QUICKACK
问题描述
我正在使用 MQTT 协议编写 iOS 聊天应用程序,并且正在使用https://github.com/flightonary/Moscapsule连接到代理服务。
现在我面临一个延迟问题,正如我所调查的那样,这是由于 Nagle 的算法和延迟 ACK(在此处描述http://www.stuartcheshire.org/papers/nagledelayedack/)。
到目前为止,我可以通过设置 TCP_NODELAY 选项来禁用 Nagle 算法。但是我无法设置 TCP_QUICKACK 选项,编译器抱怨“使用未声明的标识符 'TCP_QUICKACK' ”,我不知道如何解决。
有人可以帮忙吗?
解决方案
不幸的是,TCP_QUICKACK 不适用于 iOS。
https://forums.developer.apple.com/thread/116340
TCP_QUICKACK 在 iOS 上不可用。如果您希望将来添加此类支持,我鼓励您提交描述您的要求的增强请求。
PS:BSD Sockets 被认为是 iOS 上的一种兼容性 API,我们鼓励人们使用 Network 框架进行底层网络。像这样的增强可能会出现在那里,然后仅在绝对必要时才移植到 BSD 套接字 API。
从好的方面来说,从 Swift 调用 Network 框架要好得多。
推荐阅读
- codenameone - 在代号中更改跨度标签字体大小
- android - Using CalendarView with databinding
- javascript - Sublime Text 在 Ubuntu/Linux 上说“没有构建系统”
- debian - 使用 live-build 添加用户帐户
- c++ - boost hana index_if and type
- c - 如何获取陷入无限循环的 C 程序的代码覆盖率信息?
- c - C socket programming, getting IP of server on raspberrypi
- sql - 如何在分区范围内仅取最大周期各自的值
- angular - 如何延迟 Angular 子组件 API 调用?
- android - 重新创建活动后无法重用 PeerConnectionClient