소켓의 우아한 연결 종료
소켓의 우아한 연결 종료 Graceful shutdown 1. 사용 이유: 중요 데이터의 소실 방지. 서버로부터 데이터를 전송 받는 도중 클라이언트가 소켓 종료를 시도 하였을 때, 서버와 클라이언트간 I/O 스트림 종료로 인한 데이터 소실을 막기 위해 사용된다. 또한, 서버에서 TIME_WAIT가 남는게 아닌, 클라이언트에서 TIME_WAIT가 남도록 하는것이며, 클라이언트가 먼저 소켓 종료 함수를 호출하도록 하는것이 핵심이다. 즉, TIME_WAIT가 발생하는 것은 정상적인 소켓 종료가 이루어지는 과정에서 자연스럽게 발생하는 과정이다. 추가적으로 TIME_WAIT / CLOSE_WAIT가 남았을 경우 남기지 않고 Linger 옵션을 사용하여 바로 소켓을 종료시키는 비정상종료(Abortive Shutdo..
Network Programming
2017. 10. 9. 17:59