다음을 통해 공유


CAsyncSocket::Send

연결 된 소켓에 데이터를 전송 하려면이 멤버 함수를 호출 합니다.

virtual int Send(
   const void* lpBuf,
   int nBufLen,
   int nFlags = 0 
);

매개 변수

  • lpBuf
    전송 될 데이터를 포함 하는 버퍼입니다.

  • nBufLen
    데이터의 길이가 lpBuf (바이트)에서입니다.

  • nFlags
    호출 되는 방법을 지정 합니다.이 함수의 의미는 소켓 옵션으로 결정 됩니다 및 nFlags 매개 변수.C + +에서 다음 값을 조합 하 여 후자 생성 된 OR 운영자:

    • MSG_DONTROUTE 데이터 라우팅 적용 해서는 안 되도록 지정 합니다.이 플래그를 무시 하는 Windows 소켓 공급 업체를 선택할 수 있습니다.

    • MSG_OOB 대역의 데이터 전송 (SOCK_STREAM 만).

반환 값

오류가 발생 하면 보내기 문자 전송의 총 수를 반환 합니다.(이 표시 된 수보다 작을 수 있으며 nBufLen.) 그렇지 않으면 값이 SOCKET_ERROR 반환 됩니다 및 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError.다음 오류는이 멤버 함수에 적용 됩니다.

  • WSANOTINITIALISED 성공적으로 AfxSocketInit 이 API를 사용 하기 전에 발생 합니다.

  • WSAENETDOWN 는 Windows 소켓 구현이 감지 네트워크 하위 시스템 실패 합니다.

  • WSAEACCES 요청한 주소가 브로드캐스트 주소를 있지만 적절 한 플래그가 설정 되어 있지 않습니다.

  • WSAEINPROGRESS Windows 소켓 차단 작업이 진행 중입니다.

  • WSAEFAULT 의 lpBuf 인수는 유효한 사용자 주소 공간 부분에 아닙니다.

  • WSAENETRESET Windows 소켓을 삭제 하기 때문에 연결을 다시 설정 해야 합니다.

  • WSAENOBUFSWindows 소켓 버퍼 교착 상태를 보고합니다.

  • WSAENOTCONN 소켓이 연결 되어 있지 않습니다.

  • WSAENOTSOCK 설명자가 소켓이 아닙니다.

  • WSAEOPNOTSUPP   MSG_OOB 지정 된 소켓 형식의 아닙니다 SOCK_STREAM.

  • WSAESHUTDOWN ; 아래로 소켓 이미 종료 된 호출할 수 없는 보내기 후 소켓 ShutDown 호출 된 nHow 1 또는 2로 설정 합니다.

  • 아닙니다 소켓 표시 비블로킹으로 요청한 작업이 차단 됩니다.

  • WSAEMSGSIZE 소켓 형식이 SOCK_DGRAM, 및 데이터 그램을 Windows 소켓 구현에서 지원 되는 최대값 보다 큽니다.

  • WSAEINVAL 소켓에는 바인딩되지 않은 바인딩할.

  • WSAECONNABORTED 가상 회로 시간 초과 나 기타 오류로 인해 중단 되었습니다.

  • WSAECONNRESET 가상 회로 원격 나란히 원래 대로 설정 했습니다.

설명

보내기 연결 된 스트림 또는 데이터 그램 소켓에 보내는 데이터를 쓰는 데 사용 됩니다.데이터 그램 소켓에 대 한 최대 IP 패킷 크기는 내부 서브넷에서 지정 하는 초과 하지 않도록 주의 해야의 iMaxUdpDg 요소에는 WSADATA 반환 구조 AfxSocketInit.원자적으로 내부 프로토콜 오류를 통해 전달 하는 데이터가 너무 깁니다 경우 WSAEMSGSIZE 통해 반환 GetLastError, 데이터가 전송 됩니다.

소켓의 성공적인 완료는 데이터 그램에 대 한 메모는 보내기 데이터가 성공적으로 배달 된 나타내지 않습니다.

CAsyncSocket 개체 유형의 SOCK_STREAM를 쓰여진 바이트 수 만큼 로컬 및 외부 호스트에서 버퍼 사용 가능성에 따라 요청 된 길이 1 사이의 수 있습니다.

예제

예제를 보려면 CAsyncSocket::OnSend.

요구 사항

헤더: afxsock.h

참고 항목

참조

CAsyncSocket 클래스

계층 구조 차트

CAsyncSocket::Create

CAsyncSocket::Receive

CAsyncSocket::ReceiveFrom

CAsyncSocket::SendTo