我寫了一個簡單的套接字程序,它工作正常,但我的朋友使用端口掃描工具,當它掃描到我使用的端口時,它與「java.net.SocketException:Broken pipe」錯誤現金,會發生什麼?以及如何解決它?從控制檯爲什麼會出現「java.net.SocketException:Broken pipe」?
providerSocket = new ServerSocket(portNum);
connection = providerSocket.accept();
if (connection.getOutputStream() != null) {
//this line crash!!!
out = new ObjectOutputStream(connection.getOutputStream());
out.flush();
}
細節錯誤:
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()'沒有返回null。測試毫無意義。 – EJP 2012-03-02 04:58:16