CAsyncSocket::Connect,Accept()  为什么不能在子线程中使用?

解决方案 »

  1.   

    MFC的CSocket对象和CAsyncSocket对象都不能在多现程中共享
      

  2.   

    因为在MFC中,CSocket他的对象与socket句柄只是对本线程有效,与窗口一样,建立本线程的
    句柄映射,所以在别的线程中是不可以的。
      

  3.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;192570
    http://support.microsoft.com/default.aspx?scid=kb;en-us;214396
      

  4.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;175668MFC类一般用到了一个TLS(线程本地存储)的map,Attach/FromHandle将无法正确跨线程工作。