gpt4 book ai didi

java - 了解内核在 udp 套接字上分配的本地地址

转载 作者:行者123 更新时间:2023-11-30 16:05:28 25 4
gpt4 key购买 nike

我正在使用 jstun 库 (hxxp://jstun.javawi.de/) 开发一个 java 应用程序,我需要将我的公共(public) IP 与内核选择的 IP 进行比较(通配符地址 - hxxp://java.sun.com/j2se/1.5.0/docs/api/java/net/DatagramSocket.html#DatagramSocket() )当我创建 udp 套接字时。

我不明白的是,如果我的 natted 网络上的本地 IP 是 192.168.1.x 的形式,为什么我会得到诸如 10.x.x.x 这样的 IP?

有什么特殊原因导致两者完全无关吗?如果我不在 nat 后面,内核会将套接字绑定(bind)到我的公共(public)地址吗?

非常感谢!不对称

最佳答案

对于发送套接字,源IP将由主机路由表根据目标IP确定;对于接收套接字,目标 IP 就是您得到的。您的对等方看到的“公共(public)”IP 是您发送的数据包上的源地址,该地址由 NAT 重写为转换为的任何内部地址。

关于java - 了解内核在 udp 套接字上分配的本地地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/910466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com