Java 在 DatagramSocket 上设置不同的 IP 地址
Java set different IP address on DatagramSocket
我想在我的电脑上模拟一个网络。
我想用不同的 IP 地址发送每个数据包。
如何在Socket上设置IP地址?
比如我想设置我的IP地址是192.168.1.1或者192.168.1.1/24。
我该怎么办?
我只知道怎么设置端口号
private static DatagramSocket socket;
socket = new DatagramSocket(1024);
我可以使用吗
DatagramSocket(int port, InetAddress laddr)
初始化我的套接字?
如果是,我应该在参数中输入什么"laddr"?
假设您的意思是设置源 IP 地址 - 您不能。 UDP 套接字绑定到计算机上的特定 IP 接口(或多个接口)。 IP接口是什么'has'地址。使用 IP 套接字的程序只能选择要使用的现有接口。
请注意,即使您可以任意设置传出数据报中的源地址字段,也没有简单的方法来接收任何回复 - 因为您的计算机上没有任何内容响应您选择的地址(没有 IP该地址的接口)。
如果你想在一个程序中模拟不同的IP地址,你需要模拟IP。这将涉及使用原始套接字,但似乎没有 Java 实现。
我想在我的电脑上模拟一个网络。 我想用不同的 IP 地址发送每个数据包。 如何在Socket上设置IP地址?
比如我想设置我的IP地址是192.168.1.1或者192.168.1.1/24。 我该怎么办?
我只知道怎么设置端口号
private static DatagramSocket socket;
socket = new DatagramSocket(1024);
我可以使用吗
DatagramSocket(int port, InetAddress laddr)
初始化我的套接字?
如果是,我应该在参数中输入什么"laddr"?
假设您的意思是设置源 IP 地址 - 您不能。 UDP 套接字绑定到计算机上的特定 IP 接口(或多个接口)。 IP接口是什么'has'地址。使用 IP 套接字的程序只能选择要使用的现有接口。
请注意,即使您可以任意设置传出数据报中的源地址字段,也没有简单的方法来接收任何回复 - 因为您的计算机上没有任何内容响应您选择的地址(没有 IP该地址的接口)。
如果你想在一个程序中模拟不同的IP地址,你需要模拟IP。这将涉及使用原始套接字,但似乎没有 Java 实现。