2011-03-22 48 views
2

我正在研究一个实时视频Java应用程序,并遇到了NAT遍历的常见问题 - 两台计算机可以在本地网络上互相连接,但不能在NAT后面连接。 我已经做了一些研究,最简单的选择是让我的头部是JSTUNT library from CornellJava Stunt和URI发现

但是,它似乎要求您使用一个URI来连接计算机,我真的不知道如何做到这一点 - 有没有一种方法可以在Java中发现自己的URI?

他们的STUNTServer类似乎被设计来做到这一点,但就我的工作而言,只能返回socket.getSocketAddress() - 它看起来与URI不一样。

任何有识之士将不胜感激。

回答

0

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

要回答你的问题:

有没有在Java中发现自己的URI的一种方式?

问题是关于通过NAT发现映射到您的私有IP地址的公共IP地址。这只能从WAN(即LAN外部)看到。特技服务器的确有助于实现这一目标。

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

+0

谢谢,那本书看起来很有帮助,我会看看我能做些什么。 – onemanandhishat 2011-03-23 13:17:09