CSocket::OnReceive()为什么只响应了一次?
UDP连接,服务器给客户端发数据。
服务器代码:
m_sockSend.Create(0,SOCK_DGRAM); //在窗体初始化中,m_sockSend定义在Public中
..
..
static iIndex=0;
char szSend[20];
sprintf(szSend,"%010d",iIndex++);
m_sockSend.SendTo(szSend,10,6802,"192.168.0.63");//在“发送”按扭事件中
客户端重载了一个class CClientSocket : public CSocket
CClientSocket::OnReceive重载,加入AfxMessageBox("Received");代码,如下:
void CClientSocket::OnReceive(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
AfxMessageBox("Received");
CSocket::OnReceive(nErrorCode);
}
窗体初始化中:PReceive.Create(6802,SOCK_DGRAM); //PReceive定义在Public,
CClientSocket PReceive;
为什么点“发送”按扭的时候只有第一次客户端弹出了AfxMessageBox("Received");再点就没有反应,把客户端关闭重新再开,点“发送”的话客户端又有一次响应。但是还是只有第一次有。初次做网络方面的,请大家多指教。