我将使用STUN作为遍历NAT解决方案,并使用JSTUN。当我搜索了arround stackoverflow时,我发现这篇文章提到了JSTUN在其源代码中包含其文档:Java and Which Stun libraries i should use?

但是,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


问候,

史蒂夫

最佳答案

这是我对NAT遍历的理解:

您拥有外部的“广域网” IP地址(WAN),您可以在这里找到:http://www.mywanip.com/。您的路由器将该IP暴露给Internet。
您还有一个内部IP地址,该地址受路由器保护。它可能读为192.168.x.x。

10-04 14:07