-
클라이언트의 shutdown send는 서버에 eof를 전달한다.프로그래밍/의문 2016. 2. 6. 23:51반응형
graceful close를 위한 과정
클라이언트
(0) 소켓의 송신 스트림을 닫음 shutdown(send)
(4) 서버의 eof 인지
(5) 소켓 닫음
서버
(1) 클라이언트로부터 eof를 인지. 클라이언트로 부터 받을 데이터가 없으므로 더이상 수신 받지 않는다. socket.shutdown(receive)
(2) 남은 데이터들을 모두 보냄.
(3) 클라이언트와 연결된 소켓의 송신 스트림을 닫음 socket.shutdown(send)
(5) 소켓 닫음
따라서 서버는 클라이언트로 오는 eof가 소켓의 오류, 종료와 직접적으로 같은 건 아니다.
사실, 서버는 클라이언트로 부터 eof를 받았다고 하더라도 서버는 송신을 할 수 있다.
eof != disconnect
반응형'프로그래밍 > 의문' 카테고리의 다른 글
mssqlserver 연결이 안 되던 문제 (0) 2016.02.27 [c++] static 변수의 초기화 시점 (0) 2016.02.22 1바이트는 왜 8비트일까? (0) 2016.02.02 iocp 송신 관련 주의점 (0) 2016.01.26 strand로 동기화를 하려는데, 문제가 있다. (2) 2015.12.01