"정상적으로"TCP 소켓을 닫으려면 어떻게하는 것이 좋습니까?TCP 소켓을 올바르게 닫습니다.
호스트 버퍼의 나머지 모든 데이터를 read()하기 전에 close()를하면 원격 호스트에 문제가 발생할 수 있음을 알게되었습니다. 수신 버퍼의 모든 데이터가 손실 될 수 있지만 아직 그의 응용 프로그램에서 읽지 않은). 그 맞습니까?
그런 상황을 피하기위한 좋은 접근 방법은 무엇입니까? 버퍼링 된 데이터를 무시하고 소켓을 닫음으로써 데이터가 손실된다는 사실을 API에 알리는 방법이 있습니까?
아니면 응용 프로그램 프로토콜 수준에서 문제를 고려해야하고 암시 적 또는 명시 적 "전송 종료"신호를 사용하여 상대방에게 읽기 위해 소켓을 닫는 것이 안전하다는 것을 알리십시오.
어떤 언어로 제공됩니까? – Kiril
버클리 소켓; 나는 C를 사용하고 있지만, 일반적인 개념에 관심이 있습니다. – lxgr