不明白这个类的消息是怎样传递下去的, 比如说基于CAsycnSocket的对象Socket中的onaccept调用ctalkdlg中的onaccpet,若在onaccept中打开一个线程,在线程中accept,那么能不能把随后的receive,send都转到线程中来?
用基于CAsycnSocket的对象能不能用线程实现一对多的通信

解决方案 »

  1.   

    应该不行,CAsyncSocket是用消息机制来产生OnAccept的,如
    BEGIN_MESSAGE_MAP(CSocketWnd, CWnd)
    ON_MESSAGE(WM_SOCKET_NOTIFY, OnSocketNotify)
    END_MESSAGE_MAP()
    其在此消息中调用ProcessAuxQueue,而此函数中调用CAsyncSocket::DoCallBack(pMsg->wParam, pMsg->lParam);,而此函数中有:
    case FD_ACCEPT:
       pSocket->OnAccept(nErrorCode);
    break;
    因此其是与线程相关的。
      

  2.   

    不明白liuxing2004(刘刘)的意思。
    请问各位高手到底怎样用CAsyncSocket实现一对多呢?能不能给点提示?
    在线等待!!!多谢!
      

  3.   

    你用
    http://dev.csdn.net/article/9/9863.shtm
    的例子吧,应该满足你的要求的。
      

  4.   

    看看《windows网络编程》里的WSAAsyncSelect模型
      

  5.   

    也不知道 windy2004(风筝)搞定了没有呵呵