如何在java中获取UDP数据包发送方的本地IP地址

时间:2015-06-18 08:53:44

标签: java sockets networking

我已经使用JMF为我的兄弟学校项目编写了一个ip到ip视频聊天应用程序。首先,其中一个用户将udp作为聊天请求发送到另一个系统。然后,第二个系统在视频聊天开始后向第一个系统发送回复。当没有路由器b / W两个系统时(例如,两者都在同一个局域网或通过USB调制解调器连接到互联网),每件事情都能正常工作。否则,当我从UDP数据包中检索发送方的IP时,它会给出路由器的ip,发送方通过该网络连接到Internet,因此当第二个系统回复聊天请求时,第一个系统永远不会收到回复。那么我怎样才能获得UDP发送者的本地IP。

提前感谢每一个人。

1 个答案:

答案 0 :(得分:1)

你在谈论NAT遍历,这是一个非常难的问题。维基百科上有更多内容https://en.wikipedia.org/wiki/NAT_traversal

如果仅仅是为了一个学校项目,我会让它在本地网络上工作,而不用担心NAT遍历。

相关问题