我把监听socket设为WSAAsyncSelect模式,接受到的新连接并没有去设置,但在OnSocket函数中,也接收到了这些新连接产生的网络消息,这是怎么一回事?谢谢!

解决方案 »

  1.   

    look,我在服务端的接受socket处理代码如下:
    case FD_ACCEPT:
    sockNew = accept(m_sockListen,(SOCKADDR*)
    &ClientAddr,&ClientAddrLen);
    if (sockNew==INVALID_SOCKET)
    {
    PrintInfo("无效连接..");
    }
    if (m_vCon.size() >= MAX_CON)
    {
    closesocket(sockNew);
    return ;
    }
    WSAAsyncSelect(sockNew,this->m_hWnd,WM_SOCKET, FD_READ | FD_CLOSE); ***这句话我去掉还是可以在WM_SOCKET上收到sockNew的读消息。
      

  2.   

    但是设WSAAsyncSelect是针对某一个socket的啊,我的listen socket是异步选择的,但新创建的连接并没有设置也可以收到这些新连接的网络消息啊。