我正在使用jstun库(hxxp://jstun.javawi.de/)开发一个java应用程序,我需要将我的公共ip与内核选择的一个(通配符地址 - hxxp://)进行比较java.sun.com/j2se/1.5.0/docs/api/java/net/DatagramSocket.html#DatagramSocket())当我创建一个udp套接字时。
我不明白的是,如果我的自然网络上的本地IP是192.168.1.x的形式,为什么我会得到一个像10.x.x.x这样的IP?
有两个完全不相关的特殊原因吗? 如果我不在后面,那么内核会将套接字绑定到我的公共地址吗?
非常感谢! 非对称
答案 0 :(得分:1)
对于发送套接字,源IP将由主机路由表根据目的IP确定;对于接收套接字,目标IP就是你得到的。您的同行看到的“公共”IP是您的数据包的源地址,NAT会将其重写为内容地址转换为。
答案 1 :(得分:0)
我没有提到一个相当重要的事情:我正在为Android开发,并在android模拟器上运行我的代码,这解释了10.x.x.x地址的事情..
我应该深入研究......感谢您的帮助!
感兴趣的人:hxxp://developer.android.com/guide/developing/tools/emulator.html#networkaddresses