Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Appelé par l'infrastructure pour notifier socket ce qu'il existe des données dans la mémoire tampon qui peut être récupérée en appelant la fonction membre de Recevoir .
virtual void OnReceive(
int nErrorCode
);
Paramètres
nErrorCode
l'erreur la plus récente sur un socket.Les codes d'erreur suivante s'appliquent à OnReceive la fonction membre :0 La fonction exécutée avec succès.
WSAENETDOWN que l'implémentation de Windows Sockets l'a détecté que le sous-système réseau a échoué.
Notes
Pour plus d'informations, consultez Windows Sockets : notifications de socket.
Exemple
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);
}
Configuration requise
Header: afxsock.h