Базовый пример кода клиент / сервер работает в симуляторе iOS, но не на устройстве - PullRequest
1 голос
/ 22 марта 2012

Я работаю через Обучающее пособие по сокету Биджа . Используя пример кода, я создал простое серверное приложение для 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.

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

1 Ответ

0 голосов
/ 22 марта 2012

печать числа отправленных байтов помогла. Это выдвинуло на первый план тот факт, что send() не был вызван. Комментирование проверки if (!fork()) { приводит к отправке и получению байтов, как и ожидалось. Теперь, чтобы понять цель вышеуказанной проверки и почему она возвращает разные результаты на симуляторе и устройстве.

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