У кого-нибудь есть документация JSTUN или кто-нибудь помогает объяснить больше?

Я собираюсь использовать STUN в качестве решения для обхода NAT и столкнулся с JSTUN. Пока я искал вокруг stackoverflow, я обнаружил, что в этом сообщении упоминается, что у JSTUN есть документация внутри источника: Java и какие библиотеки Stun следует использовать?

Однако источник на http://javawi.de/ был поврежден, и тогда я нашел альтернативный способ загрузки JSTUN. код https://github.com/tking/JSTUN

Итак, я здесь, чтобы попросить документацию, если кто-то даст мне, и хотел бы знать, как это работает:

1.de.javawi.jstun.test.demo.StunServer требует, чтобы я предоставил 2 IP-адреса и порта. На мой взгляд, STUN-сервер - это способ предоставить услугу «пробивания отверстий», зачем ему 2 ip и порта?

2. После запуска de.javawi.jstun.test.demo.DiscoveryTestDemo он возвращает мне ip, что это значит?

No route to host
java.io.IOException: No route to host
No route to host
    at java.net.PlainDatagramSocketImpl.send(Native Method)
    at java.net.DatagramSocket.send(DatagramSocket.java:625)
    at de.javawi.jstun.test.DiscoveryTest.test1(DiscoveryTest.java:96)
    at de.javawi.jstun.test.DiscoveryTest.test(DiscoveryTest.java:64)
    at de.javawi.jstun.test.demo.DiscoveryTestDemo.run(DiscoveryTestDemo.java:48)
    at java.lang.Thread.run(Thread.java:680)
java.io.IOException: No route to host
    at java.net.PlainDatagramSocketImpl.send(Native Method)
    at java.net.DatagramSocket.send(DatagramSocket.java:625)
    at de.javawi.jstun.test.DiscoveryTest.test1(DiscoveryTest.java:96)
    at de.javawi.jstun.test.DiscoveryTest.test(DiscoveryTest.java:64)
    at de.javawi.jstun.test.demo.DiscoveryTestDemo.run(DiscoveryTestDemo.java:48)
    at java.lang.Thread.run(Thread.java:680)
Network interface: en0
Local IP address: 192.168.1.23
Result: Port restricted Cone NAT handles connections.
Public IP address: 116.48.14.100

С уважением,

Стив


person Steve Lam    schedule 25.08.2013    source источник


Ответы (2)


Это мое понимание обхода NAT:

У вас есть внешний IP-адрес глобальной сети (WAN), который вы можете узнать здесь: http://www.mywanip.com/ . Этот IP-адрес открыт для Интернета вашим маршрутизатором. У вас также есть внутренний IP-адрес, который защищен вашим маршрутизатором. Скорее всего, это будет 192.168.x.x.

person Dennis Benson    schedule 24.01.2014

DiscoveryTestDemo возвращает ваш общедоступный IP-адрес и общедоступный порт, видимые предоставленным вами сервером оглушения, а также сообщает вам, за каким маршрутизатором вы находитесь. (вот для чего нужен STUN)

Для пробивки отверстий вам придется написать свой собственный код. Пробивать отверстия UDP легко, вы можете легко найти ресурсы для этого. Вот хорошая ссылка для пробивки отверстий TCP: >http://ramonli.blogspot.in/2012/03/tcp-hole-punching-how-to-install-tcp.html

person Dexter    schedule 19.06.2014