Как читать потоковые данные из TCP-сокета в Swift 2? - PullRequest
0 голосов
/ 27 апреля 2018

Предположим, у меня есть собственный сервер, который прослушивает соединения через какой-то порт и, как только он получил соединение, он начинает отправлять данные (что-то вроде логгера). Вот первый вопрос:

Это могут быть только двоичные данные? На самом деле мне нужно всего два ненулевых 8-битных значения, и я думал о байте с 0 значениями, чтобы отделить каждую новую порцию данных.

Эти три байта будут отправлены один раз или могут быть дважды в секунду.

Итак, теперь я ищу фрагмент кода в Swift 2 для правильного чтения этих данных. Обычно я ожидаю звонить

connectSocket(IP,port) 

, который будет подключаться к сокету, и как только он получит первый кусок данных,

socketCallBack() 

называется, или как-то так.

Интуитивно, мне не нравится идея проверки данных в цикле while (true). Или это правильный путь?

Я видел пример, когда он сначала отправляет запрос 'get' на сервер и сразу начинает ждать ответа. Возможно, я могу назвать это, используя таймер, раз в секунду? Будет ли это правильно?

Что меня беспокоит, так это трафик. Прямо сейчас я продвигал его через веб-сервер, но мне не нравится, что он тратит слишком много трафика на эти накладные данные http.

Возможно, с этими tcp-соединениями по таймеру это будет намного меньше, и это сэкономит еще больше трафика, если я установлю только одно соединение в начале и передам данные в этом соединении. Я прав?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...