读书人

winsock连接以后不断发生FD_READ消息

发布时间: 2012-01-07 21:41:55 作者: rapoo

winsock连接以后,不断发生FD_READ消息,不断发送给客户端信息,如何解决?
LRESULT CServerDlg::OnServerMessage(WPARAM wParam,LPARAM lParam)
{
SOCKET socket;
char s[1024];
int len,cnt,i;
switch(lParam)
{
case FD_ACCEPT:
socket =accept(m_Server.m_hMainSock,NULL,NULL);
m_ConnectionList.AddHead(socket);
send(socket,s,strlen(s),0);
return 0;
case FD_READ:
cnt=m_ConnectionList.GetCount();
for(i=0;i <cnt;i++)
{
socket=m_ConnectionList.GetAt(m_ConnectionList.FindIndex(i));
if(socket==wParam)
{
len=recv(socket,s,1024,0);
s[len]=NULL;
send(socket,s,strlen(s),0);
return 0;
}
}
return 0;
case FD_WRITE:
return 0;
case FD_CLOSE:
return 0;
default:
return 0;
}
}

[解决办法]
OnServerMessage 是怎麽映射消息的?
[解决办法]
len=recv(socket,s,1024,0);得到的是什么?
你的客户端是怎么样的?是不是客户端一直给服务器发信息?

读书人网 >VC/MFC

热点推荐