Проблема с подключением сокета от клиентского приложения Android к серверу - PullRequest
2 голосов
/ 19 ноября 2011

У меня проблемы с подключением сокета от телефона Android к компьютеру, на котором работает netcat и прослушивает порт (5555).

Что я запускаю в своем приложении для Android:

    try {
        Socket s = new Socket("My IP number here (not local IP)", 5555);
        DataOutputStream outToServer = new DataOutputStream(s.getOutputStream());
        outToServer.writeBytes("Hello!");
        s.close();
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

Это строка, которую я использую для netcat: nc -l 5555

Я не уверен, что яотсутствует ... Я перенаправил порт на маршрутизаторе и перезагрузил маршрутизатор.Добавлено разрешение на интернет в моем приложении для Android.Телефон подключен через 3G, а мой компьютер - через широкополосный доступ.Netcat разрешен в моем брандмауэре.

При попытке подключения в приложении появляется ошибка SocketTimeoutException.

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

Кто-нибудь знает, что мне не хватает?

РЕДАКТИРОВАТЬ: Я думаю, я мог бы найти проблему .. У меня есть два варианта на моем маршрутизаторе Virtual Server и Port forwarding.Я не знаю, какой установить порт 5555 в обоих UDP / TCP.http://dl.dropbox.com/u/4385192/2011-11-19%2003.17.53%20pm.png enter image description here Насколько я понимаю, это Virtual Server Я должен использовать вместо перенаправления портов?Если так, может кто-то прояснить разницу между ними?

1 Ответ

1 голос
/ 19 ноября 2011

Мой компьютер изменил локальный IP со времени последней конфигурации, поэтому мои правила Virtual Server / Port Forwarding не применялись, поэтому я обновил его (с 192.168.0.199 -> 192.168.0.19 6 ) итеперь он отлично работает.

Итак, все шаги выполнены:

  • Установите правило для Virtual Server / Port Forwarding на вашем маршрутизаторе.
  • Установите правило дляInbound Filtering на вашем маршрутизаторе, если вы хотите разрешить только белый список IP для подключения и распространения на следующий уровень безопасности.
  • Если у вашего маршрутизатора есть какие-либо другие настройки брандмауэра, создайте правила, позволяющие устанавливать ваши подключения.
  • На вашем сервере / компьютере разрешите порты в брандмауэре или в приложении, которое вы используетеполучать входящие соединения.
  • Прибыль !!!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...