casyncsocket的应用问题2

阿浪 2006-09-03 02:35:40
四个客户端一个服务器,我怎么改写服务器的listen类的OnAccept函数,才能让把四个客户端的SOCKET保存起来?
试了很久,一直保存不成功,服务器总是崩溃
...全文
120 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
一剑 2006-09-03
  • 打赏
  • 举报
回复
FD_SET readfds; //读取池

DWORD WINAPI CSvSocket::ListenThread(LPVOID lParam)
{
CSvSocket *pSvr=(CSvSocket*)lParam;
SOCKET recv;
struct sockaddr_in addr;
int addLen=sizeof(addr);
while(pSvr->m_bCreate)
{
TRACE("accept start!\n");
recv=accept(pSvr->m_svrsock,(SOCKADDR*)&addr,&addLen);
if(recv==INVALID_SOCKET)
{
int nError=WSAGetLastError();
TRACE("Accept error!,error=%d\n",nError);
break;
}
TRACE("Accept succeed!socket=%d\n",recv);
if(!pSvr->VerifyUser(recv))
{
closesocket(recv);
continue;
}
if(!(pSvr->AddSock(recv)))
{
TRACE("sock list is full!\n");
closesocket(recv);
continue;
}
FD_SET(recv,&pSvr->readfds);
}
return 0;
}

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧