WSAAsyncSelect模型标榜是异步的,但多人同时使用时,要不要每个用户建一个线程?我现在就是一用户一线程。如果不用,那么怎样处理多用户同时发送的问题?

解决方案 »

  1.   

    WSAAsyncSelect是异步重叠IO.需不需要多线程看你的程序需求。多用户模式:用户可以向WSAAsyncSelect::m_hWnd发送消息, WSAAsyncSelect会自行处理的
      

  2.   

    补充一下,发送自定义消息到WSAAsyncSelect.然后调用WSAAsyncSelect的发送函数。
      

  3.   

    挨个socket直接发,不用每个用户单独建线程
    如果发送和接收有复杂处理数据要求,最好开个线程
      

  4.   

    或者转换一下说法。
    服务端如果不是一用户一线程,那么服务端怎样识别每个用户的SOCKET,以便正确地处理各用户发送过来的数据?
      

  5.   

    Thread Per Connection,.
    这种不适合于编写服务端
      

  6.   

    在消息处理的地方,每次接收到FD_ACCEPT消息时,调用accept函数并且将建立的socket保存到列表中
    之后每次接收到FD_READ消息时,参数wparam就是消息发送者的socket,去列表中进行查询就可以了