Я работаю через Обучающее пособие по сокету Биджа . Используя пример кода, я создал простое серверное приложение для iOS и простой клиент, работающий на моем рабочем столе.
Когда я запускаю сервер на симуляторе iOS, все работает нормально. Из терминала OS X я делаю запрос к серверу и получаю ожидаемый Hello, world!
ответ:
$ g++ client.cpp
./a.out localhost
client: connecting to 127.0.0.1
client: received numbytes 13
client: received 'Hello, world!'
Однако, когда я запускаю серверное приложение на устройстве, я получаю странный ответ:
$ ./a.out 192.168.1.2
client: connecting to 192.168.1.2
client: received numbytes 0
client: received ''
Я изменил пример кода, чтобы вывести все ошибки на консоль. К сожалению, я не вижу ошибок при работе на симуляторе или устройстве.
Я довольно новичок в сетевом программировании. Возможно, мой беспроводной маршрутизатор предотвращает отправку байтов? Любые советы по отладке приветствуются.
Я также пытался использовать telnet для связи с устройством и симулятором:
$ telnet 192.168.1.2 3490
Trying 192.168.1.2...
Connected to 192.168.1.2.
Escape character is '^]'.
Connection closed by foreign host.
$ telnet localhost 3490
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Hello, world!Connection closed by foreign host.
На первый взгляд похожие результаты (работа на симуляторе возвращает ожидаемые результаты, а работа на устройстве ничего не дает).