无法分配请求的地址:JVM_Bind - 临时端口和有效的本地地址查找失败

时间:2012-04-01 23:36:07

标签: java windows-7 windows-7-x64 serversocket

当我在Windows 7 Professional系统中运行以下Java程序时,我收到以下异常

import java.io.IOException;
import java.net.ServerSocket;

public class ServerSocketTest {

    public static void main(String[] args) {

        init();
    }

    public static void init()  {
        try {
            ServerSocket sock = new ServerSocket();
            sock.setSoTimeout(60000);
            sock.bind(null);
            System.out.println("Listening for external workers on port "
              + sock.getLocalPort());
        } catch (IOException e) {
            System.out.println("Exception occured");
            e.printStackTrace();

        }
      }

}

异常详情:

Exception occured
java.net.BindException: Cannot assign requested address: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(Unknown Source)
        at java.net.ServerSocket.bind(Unknown Source)
        at java.net.ServerSocket.bind(Unknown Source)
        at ServerSocketTest.init(ServerSocketTest.java:16)
        at ServerSocketTest.main(ServerSocketTest.java:8)

例外情况发生在下面一行

sock.bind(null); // If the address is null, then the system will pick up an ephemeral port and a valid local address to bind the socket.

我试图完全禁用Windows防火墙,互联网安全软件,但是,我一直得到同样的例外。当我在Windows任务管理器中结束以下过程时,我已成功运行该程序,但是,我的系统在一分钟内重新启动。所以,看起来,这个过程对于Windows来说是必须的。

lsass.exe(本地安全机构进程) C:\ Windows \ System32下 服务名称:VaultSvc(凭证管理员)

有任何建议,如何解决此错误?

0 个答案:

没有答案