我用CAsyncSocket 做一server,怎样听Accept(newClienSock) 的 newClienSock的OnReceive实事件?
void CTCPSVRSocket::OnAccept(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
if (nErrorCode == 0)
{
CClientSocket newClick; TRACE("*******************Create CAsyncSocket!\r\n");
if (newClick.m_hSocket != INVALID_SOCKET)
return; if (Accept(newClick)) // ?????
{
TRACE("Create CAsyncSocket!\r\n");
BOOL bResult = newClick.GetPeerName(m_strClientIP, m_unClientPort);
((CTCPIPTestDlg*)m_pOwner)->m_unPortNum = m_unClientPort;
((CTCPIPTestDlg*)m_pOwner)->m_strIP = m_strClientIP;
((CTCPIPTestDlg*)m_pOwner)->UpdateData(FALSE);
TRACE("Ip:%s, PortNum:%d\n", m_strClientIP, m_unClientPort);
}
}
}
void CTCPSVRSocket::OnAccept(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
if (nErrorCode == 0)
{
CClientSocket newClick; TRACE("*******************Create CAsyncSocket!\r\n");
if (newClick.m_hSocket != INVALID_SOCKET)
return; if (Accept(newClick)) // ?????
{
TRACE("Create CAsyncSocket!\r\n");
BOOL bResult = newClick.GetPeerName(m_strClientIP, m_unClientPort);
((CTCPIPTestDlg*)m_pOwner)->m_unPortNum = m_unClientPort;
((CTCPIPTestDlg*)m_pOwner)->m_strIP = m_strClientIP;
((CTCPIPTestDlg*)m_pOwner)->UpdateData(FALSE);
TRACE("Ip:%s, PortNum:%d\n", m_strClientIP, m_unClientPort);
}
}
}
谢谢!
请问CClientSocket的基类是CAsyncSocket,此类需要什么代码吗?除了在
OnReceive外
多谢![email protected]
但服务器端我没有触发onreceive事件
why?
你能否给我一个此方面的例子(SOurceCode)
谢谢