Die Antwort, here, von Stephen C beschreibt sehr gut das Problem. Er sagt, dass die Ausnahme für unterbrochene Pipes von etwas verursacht wird, das die Verbindung zum Schließen verursacht, und es ist nicht die Anwendung. Ich möchte wissen, was all dieses "Etwas" im Allgemeinen sein könnte, was die Verbindung zum Schließen bringt? Und welche Möglichkeiten gibt es, damit umzugehen?Java NIO SocketChannel IOException: Gebrochenes Rohr
Meine Nutzungsumgebung: Ich verwende meine Anwendung auf einer Reihe von Maschinen auf Azure, und alle von ihnen sprechen mit einem der Maschine. Ich bekomme diesen Fehler fast immer.
Könnte TCP-Timeout einer der Gründe sein? Wenn ja, dann wie Socket Channels (in Affekt Socket hinter ihnen ausgeführt) nie zu TCP-Timeout zu schließen?
Dank @VineetKasat Wie kann ich das Socket-Timeout erhöhen? Ich habe versucht, in [java doc] [1] zu suchen, konnte aber nichts passendes finden. [1] https://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html – PHcoDer
Wie kommunizieren Sie auf mehreren Rechnern? In Java ist es nur eine einfache Eigenschaft, die geändert werden muss. –
Danke @Vineet. Ich verwende SocketChannels und Lese-Schreib-Operation auf diesen Kanälen. Welche Eigenschaft ist das? Sprechen Sie über SetSoTimeout() (die für normale Sockets verwendet wird?) – PHcoDer