首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用ServerSocket.socketBind分配请求的地址

无法使用ServerSocket.socketBind分配请求的地址
EN

Stack Overflow用户
提问于 2012-01-23 06:05:40
回答 15查看 225.1K关注 0票数 56

当我尝试设置套接字服务器时,我收到一条错误消息:

代码语言:javascript
复制
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

整个代码都是最简单的:

代码语言:javascript
复制
public static void main(String[] args) throws UnknownHostException, IOException
{
    ServerSocket serverSocket;
    serverSocket = new ServerSocket(9999);
}

我100%确定我的端口已转发,Windows防火墙已关闭。不会阻止端口9999。还会出什么问题呢?

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2012-01-23 06:12:45

正如其他人所指出的,它很可能与使用端口9999的另一个进程有关。在Windows上,运行以下命令:

代码语言:javascript
复制
netstat -a -n | grep "LIST"

它应该列出所有占用港口的东西。当然,您必须在任务管理器中手动删除这些程序。如果这仍然不起作用,请替换该行:

代码语言:javascript
复制
serverSocket = new ServerSocket(9999);

通过以下方式:

代码语言:javascript
复制
InetAddress locIP = InetAddress.getByName("192.168.1.20");
serverSocket = new ServerSocket(9999, 0, locIP);

当然,使用您的实际IP地址替换192.168.1.20,或者使用127.0.0.1

票数 20
EN

Stack Overflow用户

发布于 2012-10-31 22:04:13

它可能与您的/etc/hosts中的misconfiguration相关。在我的例子中,它是这样的:用192.168.1.11 localhost代替127.0.0.1 localhost

票数 34
EN

Stack Overflow用户

发布于 2013-08-02 10:04:21

对于那些希望解决类似问题而查看此答案的其他人,我收到了类似的消息,因为我的ip地址更改了。

代码语言:javascript
复制
java.net.BindException: Cannot assign requested address: bind
    at sun.nio.ch.Net.bind(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
    at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:182)
    at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:311)
    at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:260)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.server.Server.doStart(Server.java:273)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8965155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档