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