CAsyncSocket::ShutDown
전송 비활성화 하려면이 멤버 함수를 호출을 받는, 또는 둘 다 소켓.
BOOL ShutDown(
int nHow = sends
);
매개 변수
nHow
어떤 종류의 작업에 설명 하는 플래그 더 이상 다음 열거형된 값을 사용 하 여 허용 되지 않습니다.수신 = 0
전송 = 1
모두 2 =
반환 값
함수가 성공 하면 0이 아닌. 그렇지 않으면 0이 고 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError.다음 오류는이 멤버 함수에 적용 됩니다.
WSANOTINITIALISED 성공적으로 AfxSocketInit 이 API를 사용 하기 전에 발생 합니다.
WSAENETDOWN 는 Windows 소켓 구현이 감지 네트워크 하위 시스템 실패 합니다.
WSAEINVAL nHow이 잘못된 경우
WSAEINPROGRESS Windows 소켓 차단 작업이 진행 중입니다.
WSAENOTCONN 소켓이 연결 되어 있지 않습니다 (SOCK_STREAM 만).
WSAENOTSOCK 설명자가 소켓이 아닙니다.
설명
ShutDown모든 종류의 소켓에서 수신 또는 전송 하지 않으려면 사용 됩니다.경우 nHow 0의 후속 수신 소켓을 사용할 수 없습니다.이 하위 프로토콜 레이어에 효과가 없습니다.
전송 제어 프로토콜 (TCP)에 대 한 TCP 창 변경 되지 않고 들어오는 데이터 수 창 가득 찰 때까지 (승인 없습니다 만) 수락 합니다.사용자 데이터 그램 프로토콜 (UDP)에 대 한 데이터 그램을 수신 받아 큐에 보관 됩니다.어떠한 경우에는 ICMP 오류 패킷 생성 됩니다.경우 nHow 1, 후속 전송 허용 되지 않습니다.TCP 소켓의 경우에 FIN이 보냅니다.설정 nHow 두 보냅니다 2 비활성화 하 고 위에서 설명한 대로 받습니다.
이때 ShutDown 하지 않습니다 닫기 소켓과 소켓에 연결 된 리소스 됩니다 없습니다 해제까지 닫습니다 라고 합니다.응용 프로그램이 종료 된 후 소켓을 다시 사용 하는 해서는 안 됩니다.특히, Windows 소켓 구현을 사용을 지원 하지 않아도 연결 이러한 소켓.
예제
예제를 보려면 CAsyncSocket::OnReceive.
요구 사항
헤더: afxsock.h