看以前的帖子
http://community.csdn.net/Expert/topic/4839/4839832.xml?temp=.3432886我在主线程里的相关代码如下:
m_CSocket.Create(0, SOCK_STREAM, NULL);
hSocket = m_CSocket.Detach();在另外一个线程的:
CMyCSocket m_csocket;
m_csocket.Attach(hSocket);
hSocket是定义成全局的SOCKET hSocket;// 跟踪到下面那个线程里的值已经和m_CSocket.Detach()的一样,
程序编译通过,执行m_csocket.Attach(hSocket);会出
   Debug  Assertion  Failed!  
   ..............map_p.cpp  
   void*  CMapPtrToPtr::GetValueAt(void*  key)  const  
{  
   ENSURE(this);  ///  提示这里出错  
....  
}   song_09(song) ( ) 信誉:100    Blog  2006-6-23 19:44:37  得分: 50  
CMyCSocket m_csocket;
m_csocket.Attach(hSocket);
上面,你传socket句柄的方法是对的,句柄值也传递成功了。
但在新的线程中使用socket时,必须在新线程中初始化socket环境,再才能使用。、这 在新线程中初始化socket环境  是什么意思 怎么做,我现在也遇到该问题