WSASendDisconnect 함수(winsock2.h)
WSASendDisconnect 함수는 소켓에 대한 연결 종료를 시작하고 연결 끊기 데이터를 보냅니다.
구문
int WSAAPI WSASendDisconnect(
[in] SOCKET s,
[in] LPWSABUF lpOutboundDisconnectData
);
매개 변수
[in] s
소켓을 식별하는 설명자입니다.
[in] lpOutboundDisconnectData
나가는 연결 해제 데이터에 대한 포인터입니다.
반환 값
오류가 발생하지 않으면 WSASendDisconnect 는 0을 반환합니다. 그렇지 않으면 SOCKET_ERROR 값이 반환되고 WSAGetLastError를 호출하여 특정 오류 코드를 검색할 수 있습니다.
오류 코드 | 의미 |
---|---|
이 함수를 사용하기 전에 성공적인 WSAStartup 호출이 발생해야 합니다. | |
네트워크 하위 시스템이 실패했습니다. | |
lpOutboundDisconnectData 매개 변수는 NULL이 아니며 서비스 공급자가 연결 끊기 데이터를 지원하지 않습니다. | |
차단 Windows 소켓 1.1 호출이 진행 중이거나 서비스 공급자가 여전히 콜백 함수를 처리하고 있습니다. | |
소켓이 연결되지 않았습니다(연결 지향 소켓만 해당). | |
설명자가 소켓이 아닙니다. | |
lpOutboundDisconnectData 매개 변수는 사용자 주소 공간의 유효한 부분에 완전히 포함되지 않습니다. |
설명
WSASendDisconnect 함수는 연결 지향 소켓에서 전송을 사용하지 않도록 설정하고 연결 해제 데이터 전송(있는 경우)과 함께 연결 종료를 시작하는 데 사용됩니다. 이는 WSASendDisconnect에서도 연결 끊기 데이터(이를 지원하는 프로토콜)를 보낼 수 있다는 점을 제외하고 종료(SD_SEND)와 동일합니다.
이 함수가 성공적으로 실행되면 후속 전송이 허용되지 않습니다.
lpOutboundDisconnectData 매개 변수(NULL이 아닌 경우)는 WSARecvDisconnect를 사용하여 검색을 위해 원격 당사자에게 보낼 나가는 연결 해제 데이터가 포함된 버퍼를 가리킵니다.
WSASendDisconnect 함수는 소켓의 SO_LINGER 설정에 관계없이 차단되지 않습니다.
애플리케이션은 WSASendDisconnect를 호출한 후 소켓을 다시 사용할 수 있어야 합니다. 특히 Windows 소켓 공급자는 이러한 소켓에서WSAConnect연결/ 사용을 지원할 필요가 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | winsock2.h |
라이브러리 | Ws2_32.lib |
DLL | Ws2_32.dll |