#android #sockets
#Android #сокеты
Вопрос:
Я написал приложение для Android, которое включает в себя создание соединения сокетов между 2 мобильными телефонами через Wi-Fi. Соединение отлично работает дома с моим беспроводным маршрутизатором и защитой WEP. Однако, когда я попытался запустить приложение в своей местной кофейне, я не смог установить соединение с сокетами. Оба дроида были подключены к беспроводной сети магазина, и клиент использовал правильный IP-адрес. Однако, когда я попытался установить соединение, я получил исключение SocketTimeoutException. Я пробовал это приложение в других местах (домашнего типа с WEP), и пока оба мобильных телефона подключены к сети Wi-Fi, они могут настроить подключение к сокетам.
Есть ли что-то в конфигурации общедоступных сетей Wi-Fi, что не позволяет настраивать подключения к сокетам?
Ответ №1:
Может быть, маршрутизатор в этой кофейне разрешает только определенные порты, такие как 80 для http, а другие порты заблокированы устройством, может быть, вы можете попробовать настроить свой сервер на устройстве на таком нормально открытом порту.
Комментарии:
1. Я попытался установить порт на 80, но он все еще не работает. На самом деле, использование порта 80 даже не работает в моей домашней сети.
2. какую ошибку вы получаете, пытаясь запустить тайм-аут сокета порта 80?
3. Я получаю сообщение «отказано в подключении»
4. Как насчет запуска вашего серверного приложения на порту 80 — оно запускается или закрывается? Вы уверены, что у вас запущено серверное приложение на порту 80, возможно, что-то на Android уже использует этот порт, поэтому вы можете попробовать порт 21 для ftp или тому подобное, посмотреть какую-нибудь таблицу портов и попробовать несколько других портов.