Я написал простую программу сокетов, она отлично работает, но мой друг использует инструмент сканирования порта, когда он сканирует порт, который я использую, он получает наличные деньги с ошибкой «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()' не возвращает нуль. Тест бессмыслен. – EJP