Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aufgerufen vom Framework, um den Socket zu benachrichtigen, dass er Daten nun übermitteln kann, indem er die Send-Memberfunktion aufruft.
virtual void OnSend(
int nErrorCode
);
Parameter
nErrorCode
Der letzte Fehler auf einem Socket. Die folgenden Fehlercodes gelten für OnSend die Memberfunktion:0 die Funktion erfolgreich ausgeführt.
WSAENETDOWN, das die Windows Socket-Implementierung hat, dass das Netzwerksubsystem fehlgeschlagen ist.
Hinweise
Weitere Informationen finden Sie unter Windows Sockets: Socket-Benachrichtigungen.
Beispiel
// CMyAsyncSocket is derived from CAsyncSocket and defines the
// following variables:
// CString m_sendBuffer; //for async send
// int m_nBytesSent;
// int m_nBytesBufferSize;
void CMyAsyncSocket::OnSend(int nErrorCode)
{
while (m_nBytesSent < m_nBytesBufferSize)
{
int dwBytes;
if ((dwBytes = Send((LPCTSTR)m_sendBuffer + m_nBytesSent,
m_nBytesBufferSize - m_nBytesSent)) == SOCKET_ERROR)
{
if (GetLastError() == WSAEWOULDBLOCK)
{
break;
}
else
{
TCHAR szError[256];
_stprintf_s(szError, _T("Server Socket failed to send: %d"),
GetLastError());
Close();
AfxMessageBox (szError);
}
}
else
{
m_nBytesSent += dwBytes;
}
}
if (m_nBytesSent == m_nBytesBufferSize)
{
m_nBytesSent = m_nBytesBufferSize = 0;
m_sendBuffer = _T("");
}
CAsyncSocket::OnSend(nErrorCode);
}
Anforderungen
Header: afxsock.h