Возможно ли для объекта ServerSocket принять запрос на соединение в 3G? - PullRequest
0 голосов
/ 05 марта 2010

Я пытался настроить соединение Droid с Droid 3G. я могу подтвердить, что все отлично работает в режиме Wi-Fi. Дроид может сделать запросы на соединение (Http, Telnet, raw сокеты) в 3G, но я не могу заставьте дроида принять сокетное соединение в режиме 3G. я использую класс java.net.ServerSocket.

Если кто-нибудь знает, как запрограммировать Droid на прием запросов на соединение через 3G, пожалуйста, ответь. Кроме того, если кто-то знает, почему это не разрешено, пожалуйста, ответьте.

Спасибо, что посмотрели,

Бургвиндек

1 Ответ

1 голос
/ 05 марта 2010

Скорее всего, у вас нет общедоступного IP-адреса, так как большинство операторов мобильной связи используют NAT или его эквивалент. Следовательно, никто не может общаться с вами, независимо от того, открыта ли у вас розетка.

Кроме того, имейте в виду, что наличие открытой розетки на телефоне представляет собой угрозу безопасности и ничем не отличается от наличия активных портов на настольных компьютерах или серверах.

Вы можете рассмотреть возможность использования какой-либо формы long-poll (Comet) или другой формы соединения, инициируемого устройством. Вам также может понадобиться использовать какой-нибудь публичный сервер в качестве прокси-сервера - публичный соединяется с сервером, устройство соединяется с сервером, сервер обменивается пакетами между сторонами.

...