Warum eine “java.net.SocketException: Broken pipe" auftreten?

Schrieb ich eine einfache socket-Programm, es funktioniert gut, aber mein Freund verwenden Sie einen port scan-tool, wenn Sie scan auf dem port ich verwende, es cash mit "java.net.SocketException: Broken pipe" Fehler, was ist geschehen? und wie es zu lösen?

providerSocket = new ServerSocket(portNum);
connection = providerSocket.accept();
if (connection.getOutputStream() != null) {
    //this line crash!!!
    out = new ObjectOutputStream(connection.getOutputStream());
    out.flush();

}

Detail-Fehler in der Konsole:

java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1847)
    at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1756)
    at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:230)
  • connection.getOutputStream() nicht null zurückgeben. Der test ist sinnlos.
InformationsquelleAutor DNB5brims | 2012-03-02
Schreibe einen Kommentar