CAsyncSocket::OnSend
프레임 워크는 이제 데이터를 호출 하 여 보낼 수 있도록 소켓에 알리기 위해 호출 된 보내기 멤버 함수입니다.
virtual void OnSend(
int nErrorCode
);
매개 변수
nErrorCode
소켓에서 가장 최근 오류입니다.다음 오류 코드에 적용 된 OnSend 멤버 함수:0 함수가 성공적으로 실행 합니다.
WSAENETDOWN 는 Windows 소켓 구현이 감지 네트워크 하위 시스템 실패 합니다.
설명
자세한 내용은 Windows 소켓: 소켓 알림을.
예제
// 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);
}
요구 사항
헤더: afxsock.h