[英]How to repair BindException: Cannot assign requested address?
我需要从客户端更改主机的IP地址。 我使用UDP命令和MulticastSocket获取此主机的IP地址(currentIp),并使用该IP地址成功建立TCP连接。 更改此主机IP地址的命令需要一个DatagramSocket,因为我需要首先获取要包含在change IP address命令中的主机设备MAC地址。 一旦建立了TCP连接,我就关闭MulticastSocket UDP套接字,这样我就可以打开DatagramSocket,但会收到以下错误消息:
java.net.BindException:无法分配请求的地址:无法绑定
除了尝试获取具有相同端口号的DatagramSocket套接字之前,还要关闭MulticastSocket套接字,我是否需要做些其他事情?还是我还缺少其他东西吗?
DatagramSocket socket;
private boolean ChangeIpAddress(String newIp) {
DatagramSocket socket;
try {
socket = new DatagramSocket(30718, InetAddress.getByName(currentIp));
} catch (SocketException ex) {
...
看来您使用的主机名IP地址不正确。 您需要找到您的etc/hosts
或其定义所在的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.