내 프로그램이 종료되기 전에 ServerSocket.close()
및/또는 Socket.close()
을 실행하지 않으면 다음 번에 프로그램을 시작할 때 포트에서 수신 대기를 시도 할 때 항상 IOException
이됩니다.ServerSocket 닫기를 잊어 버림
이것은 대개 프로그램을 종료 할 때 close()
을 넣는 것을 잊었 기 때문에 발생하는 것이 아니며, 프로그램을 강제로 닫을 때 close()
을 실행하지 못할 수도 있습니다. "점유 된 소켓"을 없애기 위해 내 Linux 컴퓨터에서 로그 아웃하고 로그인해야하는 것처럼 보입니다. 서버가 터미널이나 다른 방법으로 강제 종료 된 경우 닫히지 않은 소켓을 정리할 수있는 방법을 아는 사람이 있는지 궁금합니다.
이미 내 네트워크 연결을 사용하지 않도록 설정하고 사용하도록 설정했으나 여전히 운이 좋았습니다.
어떻게 프로세스를 죽입니까? kill -9로? – Cratylus
죄송합니다. 정확한 문제는 현재 명확하지 않습니다. 질문에서, 당신은 당신이 "프로그램을 강제로 닫는다"는 말을했지만, 내 대답에 대한 언급에서 당신은 프로그램 자체가 충돌하는 것에 대해 걱정한다고 언급했다. 어떤 시나리오가 걱정 되십니까? 둘 다? –