当我尝试设置套接字服务器时,出现错误消息:
Exception in thread "main" java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.<init>(ServerSocket.java:194)
at java.net.ServerSocket.<init>(ServerSocket.java:106)
at socketyserver.SocketyServer.main(SocketyServer.java:12)
Java Result: 1
整个代码是最简单的:
public static void main(String[] args) throws UnknownHostException, IOException
{
ServerSocket serverSocket;
serverSocket = new ServerSocket(9999);
}
我100%确定端口已转发,Windows防火墙已关闭。什么都不会阻塞端口9999。还有什么会出错?
正如其他人指出的那样,这很可能与使用port的另一个进程有关9999
。在Windows上,运行以下命令:
netstat -a -n | grep "LIST"
并且它应该列出任何阻塞端口的内容。当然,您必须去手动在Task Manager中杀死那些程序。如果仍然无法解决问题,请替换以下行:
serverSocket = new ServerSocket(9999);
带有:
InetAddress locIP = InetAddress.getByName("192.168.1.20");
serverSocket = new ServerSocket(9999, 0, locIP);
当然,请替换192.168.1.20
为您的实际IP地址,或使用127.0.0.1
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句