다음을 통해 공유


CAsyncSocket::OnReceive

이 소켓 버퍼를 호출 하 여 검색할 수 있는 데이터 임을 알리기 위해 프레임 워크에 의해 호출 된 수신 멤버 함수입니다.

virtual void OnReceive(
   int nErrorCode 
);

매개 변수

  • nErrorCode
    소켓에서 가장 최근 오류입니다.다음 오류 코드에 적용 된 OnReceive 멤버 함수:

    • 0 함수가 성공적으로 실행 합니다.

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

설명

자세한 내용은 Windows 소켓: 소켓 알림을.

예제

void CMyAsyncSocket::OnReceive(int nErrorCode)   // CMyAsyncSocket is 
                                                // derived from CAsyncSocket
{
   static int i = 0;

   i++;

   TCHAR buff[4096];
   int nRead;
   nRead = Receive(buff, 4096); 

   switch (nRead)
   {
      case 0:
        Close();
        break;
      case SOCKET_ERROR:
        if (GetLastError() != WSAEWOULDBLOCK) 
        {
          AfxMessageBox (_T("Error occurred"));
          Close();
        }
        break;
      default:
        buff[nRead] = _T('\0'); //terminate the string
        CString szTemp(buff);
        m_strRecv += szTemp;   // m_strRecv is a CString declared 
                        // in CMyAsyncSocket
        if (szTemp.CompareNoCase(_T("bye")) == 0)
        {
           ShutDown();
           s_eventDone.SetEvent();
        }
   }
   CAsyncSocket::OnReceive(nErrorCode);
}

요구 사항

헤더: afxsock.h

참고 항목

참조

CAsyncSocket 클래스

계층 구조 차트

CAsyncSocket::GetLastError

CAsyncSocket::OnAccept

CAsyncSocket::OnClose

CAsyncSocket::OnConnect

CAsyncSocket::OnOutOfBandData

CAsyncSocket::OnSend

CAsyncSocket::Receive