CAsyncSocket::OnReceive
Chiamato dal framework per notificare a questo socket che sono presenti dati nel buffer che può essere recuperato chiamando la funzione membro Ricezione.
virtual void OnReceive(
int nErrorCode
);
Parametri
nErrorCode
L'errore più recente in un socket.I seguenti codici di errore relativi a OnReceive la funzione membro:0 La funzione eseguita correttamente.
WSAENETDOWN che l'implementazione di Windows Sockets ha rilevato che il sottosistema di rete non è riuscita.
Note
Per ulteriori informazioni, vedere Windows Sockets: Notifiche di socket.
Esempio
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);
}
Requisiti
Header: afxsock.h