2013-02-18 3 views
1

Ошибка получения соединения: java.net.SocketException: Недопустимый аргумент Исключение в потоке "Thread-698" java.lang.RuntimeException: Не установить вход/выход на Handin2 .ConnectionHandlerImpl.run (ConnectionHandlerImpl.java:124) в java.lang.Thread.run (Thread.java:722)java.net.SocketException: Недопустимый аргумент

Я искал много на это исключение. Повсеместно кажется, что если вы скомпилируете с опцией JVM -Djava.net.preferIPv4Stack=true, это решит проблему. Однако это не для меня. Я запускаю IntelliJ и пытаюсь реализовать систему Chord с Sockets и Threads. Это где упоминалось выше исключение перехватывается и брошено:

if(this.remote == null || this.node == null) { 
    throw new RuntimeException("Connection handler has not been properly " 
       + "initalialized"); 
} 
try{ 
    if(this.out == null) { 
     this.out = new ObjectOutputStream(remote.getOutputStream()); 
    } 
    if(this.in == null) { 
     this.in = new ObjectInputStream(remote.getInputStream()); 
    } 
} catch(IOException e) { 
     System.out.println("Trying to make input/output for remote " + remote); 
     System.err.println(node.getKey()/Constants.NORMALIZE_KEY+": Error receiving connection: " + e.toString()); 
     return false; 
} 

Я не знаю, если больше фрагменты кода необходимы для того, чтобы помочь, но я просто потерял на это исключение, так как при поиске решений не помогая вообще.

Любые подсказки о том, что вызывает эту ошибку? Исключение сокет пойманы данной примерки поймать блок как частный случай исключения IO

+0

"java.lang.RuntimeException: Не удалось установить ввод/вывод при ..." Это не исключение Java. Это исключение для приложения. Это не имеет смысла без основного исключения Java. В целом, когда вы получаете исключение, это плохая практика составлять свой собственный текст. Используйте текст в исключенном вами исключении. – EJP

ответ

1

при компиляции с параметром JVM -Djava.net.preferIPv4Stack = истинным он будет решать эту проблему.

No. Если вы выполните с этим вариантом JVM. Ничего общего с компилятором.

+0

Да, извините. Он находится в стадии исполнения ... – jensemil

Смежные вопросы