CAsyncSocket::SendToEx
(핸들 IPv6 주소)를 특정 대상에 데이터를 전송 하려면이 멤버 함수를 호출 합니다.
int SendToEx(
const void* lpBuf,
int nBufLen,
UINT nHostPort,
LPCTSTR lpszHostAddress = NULL,
int nFlags = 0
);
매개 변수
lpBuf
전송 될 데이터를 포함 하는 버퍼입니다.nBufLen
데이터의 길이가 lpBuf (바이트)에서입니다.nHostPort
소켓 응용 프로그램을 식별 하는 포트입니다.lpszHostAddress
이 개체에 연결 된 소켓의 네트워크 주소: 컴퓨터 이름을 "입니다," 또는 "128.56.22.8"와 같이 점으로 구분 된 숫자입니다.nFlags
호출 되는 방법을 지정 합니다.이 함수의 의미는 소켓 옵션으로 결정 됩니다 및 nFlags 매개 변수.C + +에서 다음 값을 조합 하 여 후자 생성 된 OR 운영자:MSG_DONTROUTE 데이터 라우팅 적용 해서는 안 되도록 지정 합니다.이 플래그를 무시 하는 Windows 소켓 공급 업체를 선택할 수 있습니다.
MSG_OOB 대역의 데이터 전송 (SOCK_STREAM 만).
반환 값
오류가 발생 하는 경우 SendToEx 총 전송 되는 문자를 반환 합니다.(이 표시 된 수보다 작을 수 있으며 nBufLen.) 그렇지 않으면 값이 SOCKET_ERROR 반환 됩니다 및 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError.다음 오류는이 멤버 함수에 적용 됩니다.
WSANOTINITIALISED 성공적으로 AfxSocketInit 이 API를 사용 하기 전에 발생 합니다.
WSAENETDOWN 는 Windows 소켓 구현이 감지 네트워크 하위 시스템 실패 합니다.
WSAEACCES 요청한 주소가 브로드캐스트 주소를 있지만 적절 한 플래그가 설정 되어 있지 않습니다.
WSAEINPROGRESS Windows 소켓 차단 작업이 진행 중입니다.
WSAEFAULT 는 lpBuf 또는 lpSockAddr 매개 변수는 사용자 주소 공간의 일부가 또는 lpSockAddr 인수가 너무 작아서 (크기 보다는 SOCKADDR 구조).
WSAEINVAL 호스트 이름이 올바르지 않습니다.
WSAENETRESET Windows 소켓을 삭제 하기 때문에 연결을 다시 설정 해야 합니다.
WSAENOBUFSWindows 소켓 버퍼 교착 상태를 보고합니다.
WSAENOTCONN 소켓이 연결 되어 있지 않습니다 (SOCK_STREAM 만).
WSAENOTSOCK 설명자가 소켓이 아닙니다.
WSAEOPNOTSUPP MSG_OOB 지정 된 소켓 형식의 아닙니다 SOCK_STREAM.
WSAESHUTDOWN ; 아래로 소켓 이미 종료 된 호출할 수 없는 SendToEx 후 소켓 ShutDown 호출 된 nHow 1 또는 2로 설정 합니다.
아닙니다 소켓 표시 비블로킹으로 요청한 작업이 차단 됩니다.
WSAEMSGSIZE 소켓 형식이 SOCK_DGRAM, 및 데이터 그램을 Windows 소켓 구현에서 지원 되는 최대값 보다 큽니다.
WSAECONNABORTED 가상 회로 시간 초과 나 기타 오류로 인해 중단 되었습니다.
WSAECONNRESET 가상 회로 원격 나란히 원래 대로 설정 했습니다.
WSAEADDRNOTAVAIL 지정 된 주소는 로컬 컴퓨터에서 사용할 수 없습니다.
WSAEAFNOSUPPORT 주소에 지정 된 제품군이이 소켓을 사용할 수 없습니다.
WSAEDESTADDRREQ 대상 주소입니다.
WSAENETUNREACH 네트워크에서이 호스트에 연결할 수 없습니다.
설명
이 메서드는 것 CAsyncSocket::SendTo i p v 6를 처리를 제외 하 고도 오래 된 프로토콜에 설명 합니다.
SendToEx스트림 또는 데이터 그램 소켓에 사용 되며 소켓에서 나가는 데이터를 쓰는 데 사용 됩니다.데이터 그램 소켓에 대 한 최대 IP 패킷 크기는 내부 서브넷에서 지정 하는 초과 하지 않도록 주의 해야의 iMaxUdpDg 요소에는 WSADATA 구조 채울 여 AfxSocketInit.원자적으로 내부 프로토콜 오류를 통해 전달 하는 데이터가 너무 깁니다 경우 WSAEMSGSIZE 반환 된 데이터가 전송 됩니다.
이때의 성공적인 완료는 SendToEx 데이터가 성공적으로 배달 된 나타내지 않습니다.
SendToEx만 사용 되는 SOCK_DGRAM 소켓 식별 되는 특정 소켓에 데이터 그램을 보낼 수는 lpSockAddr 매개 변수.
브로드캐스트를 보내려면 (에 SOCK_DGRAM 만), 주소에는 lpSockAddr 특수 IP 주소를 사용 하 여 매개 변수를 생성 해야 INADDR_BROADCAST (WINSOCK 소켓 Windows 헤더 파일에서 정의 합니다.H)과 함께 원하는 포트 번호입니다.또는 if는 lpszHostAddress 매개 변수가 NULL, 소켓에 브로드캐스트 구성 됩니다.이 조각화가 발생할 수 있습니다, 크기를 초과 하는 브로드캐스트 데이터 그램을 일반적으로 권장 되는 의미 (헤더 제외) 데이터 그램의 데이터 부분 512 바이트를 초과할.
요구 사항
헤더: afxsock.h