Требуется помощь в разработке клиент-серверного приложения для Android на основе сокетов - PullRequest
0 голосов
/ 29 июля 2011

Я пытаюсь разработать Android-клинику для общения с сервером, работающим в локальной сети.Клиент работает на эмуляторе.Однако во время работы Android-клиента я получаю Исключение соединения отказано.Я попытался установить соединение, запустив сервер на хост-компьютере (на котором присутствует эмулятор).Это тоже не удалось.

Сервер:: 1235

после небольшого исследования я добавил redir add tcp: 1234: 1234 и вместо того, чтобы дать серверу фактический ip, я дал 10.0.2.2.Это сработало.Но если я заменю его на acutal ip, он перестанет работать.Есть ли еще что-то, что я пропускаю

1 Ответ

0 голосов
/ 29 июля 2011

Перенаправления tcp работают только для соединений, исходящих извне устройства, входящего в него - они не позволяют устройству подключаться к внешним объектам.

Использование 10.0.2.2 говорит с чем-то, работающим на хосте, как если бы онобыли сделаны с самого хоста - то есть, это похоже на использование 127.0.0.1 в чем-то на хосте.Если это работает, а использование IP-адреса хоста - нет, это может быть связано с брандмауэром или настройкой сервера на хосте, который не принимает входящие соединения.Можете ли вы связаться с сервером с другого компьютера в вашей локальной сети?

Кстати, 10.0.2.2, хотя и не является частью вашей непосредственной проблемы, будет работать только на эмуляторе, но не на аппаратном устройстве Android.

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