2

我正在开发一个实时视频 Java 应用程序,并且遇到了 NAT 遍历的常见问题 - 两台计算机可以在本地网络上相互连接,但当它们位于 NAT 后面时则不能。我做了一些研究,最简单的选择是Cornell 的 JSTUNT 库

但是,似乎需要您使用 URI 将计算机连接在一起,我真的不知道该怎么做 - 有没有办法在 Java 中发现您自己的 URI?

他们的 STUNTServer 类似乎旨在执行此操作,但据我所知,仅返回 socket.getSocketAddress() - 这似乎与 URI 不同。

任何见解将不胜感激。

4

1 回答 1

0

我试图让这个库工作,但没有成功。我一直在联系这个项目的作者,他告诉我它只是为了测试和研究目的而开发的。他还告诉我,它还没有准备好生产,需要一些认真的返工。

要回答您的问题:

有没有办法在 Java 中发现自己的 URI?

问题在于发现通过 NAT 映射到私有 IP 地址的公共 IP 地址。这仅在 WAN 中可见(即,在您的 LAN 之外)。特技服务器确实有助于实现这一目标。

NAT 穿越是一个复杂的主题。您可以在 Scribd 在线阅读的实用 JXTA II 书籍的相应章节中找到有关它的更多信息。

于 2011-03-23T08:48:00.420 回答