настройка TCP_QUICKACK с iOS - PullRequest
0 голосов
/ 02 мая 2019

Я пишу приложение для чата iOS по протоколу MQTT и использую https://github.com/flightonary/Moscapsule для подключения к брокерской службе.

Прямо сейчас я сталкиваюсь с проблемой задержки, и, как я уже исследовал, это связано с алгоритмом Нейгла и задержкой ACK (описано здесь http://www.stuartcheshire.org/papers/nagledelayedack/).

До сих пор я могу отключить алгоритм Нейгла, установив опцию TCP_NODELAY. Однако я не могу установить параметры TCP_QUICKACK, компилятор жалуется " Использование необъявленного идентификатора 'TCP_QUICKACK' ", и я не знаю, как это решить.

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 18 июня 2019

К сожалению, TCP_QUICKACK недоступен для iOS.

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

TCP_QUICKACK недоступен на iOS. Если вы хотите, чтобы такая поддержка была добавлена ​​в будущем, я рекомендую вам подать запрос на улучшение с описанием ваших требований.

P.S .: BSD Sockets считается API-интерфейсом совместимости на iOS, и мы рекомендуем людям использовать сетевую среду для низкоуровневых сетей. Подобные улучшения, скорее всего, появятся там, а затем будут перенесены в API BSD Sockets, только если это абсолютно необходимо.

С другой стороны, сетевая платформа гораздо приятнее звонить из Swift.

...