сокеты

Версия Minecraft
1.7.10
10
1
6
штука вот в чем: я хочу сделать голосовой чат. Для этого я решил объединить игроков в p2p сеть(связать их друг с другом). Для этого я стартую на каждом клиенте сокет и привязываю его к опр порту. Порт я затем отправляю на сервер. Когда игрок хочет поговорить с другим игроком он запрашивает его порт у сервера и подключается.
У меня дома все работает, но когда я пытаюся подключится к другу который в другом городе почему то сокет не может подключится с ошибкой java.net.SocketException: connection timed out: connect. Подскажите в чем может быть проблема?
 
183
1
4
В обычной ситуации никто не даст подключаться к себе рандомному сокету хотя бы из-за настроек сети (а еще это вообще не особо безопасно). Есть алгоритмы, позволяющие это обойти и при этом не скомпрометировать обоих клиентов, но это всё равно не всегда возможно. Гугли "NAT hole punching".
 
1,038
57
229
NAT не пускает, Firewall, WiFi Router у которого не проброшены порты..
Ну и как бы, без кода то можно только гадать..
Может вы вообще к 127.0.0.1 цепляетесь а не к внешнему IP.
Когда клиент поцепился к серверу, этот порт становится открытым для двухсторонней связи (они немного отличаются от назначенного Вами, но их можно получить в socket (у него там вся инфа доступна))
 
Сверху