Невозможно назначить запрошенный адрес: JVM_Bind - эфемерный порт и не удалось найти действительный локальный адрес - PullRequest
0 голосов
/ 02 апреля 2012

Когда я запускаю приведенную ниже программу Java в моей системе Windows 7 Professional, я получаю следующее исключение

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 (Диспетчер учетных данных)

Есть предложения, как решить эту ошибку?

...