【问题标题】:setting TCP_QUICKACK with iOS使用 iOS 设置 TCP_QUICKACK
【发布时间】:2019-09-20 12:47:33
【问题描述】:

我正在使用 MQTT 协议编写 iOS 聊天应用程序,并且我正在使用 https://github.com/flightonary/Moscapsule 连接到代理服务。

现在我面临一个延迟问题,据我调查,这是由于 Nagle 的算法和延迟 ACK(在此处描述 http://www.stuartcheshire.org/papers/nagledelayedack/)。

到目前为止,我可以通过设置 TCP_NODELAY 选项来禁用 Nagle 算法。但是我无法设置 TCP_QUICKACK 选项,编译器会抱怨“Use of undeclared identifier 'TCP_QUICKACK'”,我不知道如何解决。

有人可以帮忙吗?

【问题讨论】:

    标签: ios sockets latency


    【解决方案1】:

    很遗憾,TCP_QUICKACK 不适用于 iOS。

    https://forums.developer.apple.com/thread/116340

    TCP_QUICKACK 在 iOS 上不可用。如果您希望将来添加此类支持,我鼓励您提交enhancement request 描述您的要求。

    P.S.:BSD Sockets 被认为是 iOS 上的兼容性 API,我们鼓励人们使用 Network 框架进行低级网络。像这样的增强功能可能会在那里出现,然后仅在绝对必要时才移植到 BSD 套接字 API。

    从好的方面来说,网络框架更适合从 Swift 调用。

    【讨论】:

      猜你喜欢
      • 2011-11-09
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      相关资源
      最近更新 更多