这几天在多线程中用socket,遇到了点问题:MFC中的csocket由于不是线程安全的,不能直接在线程中传递。MSDN中有个例子,是在服务器端每次accept一个连接时,将csocket的句柄detach出来,作为参数传入子线程,由子线程生成的csocket再进行attach操作,然后使用。现在我要在客户端采用类似的做法:先开一个子线程(是worker线程),不断尝试与服务器连接,connet成功后,将其句柄detach,以postmessge方式传递给主线程,主线程再生成一个csocket与之attach。结果attach之后,这个socket的send操作可以将数据发送到服务器,但它的onreceive事件好像永远不会被 触发。这个程序事实上是在wce上运行,它的socket类叫做ccesocket,但我觉得这样的问题在本质上应该与x86下没什么区别。我对socket和多线程编程了解太少,百思不得其解,还望各位帮忙。
你只使用socket看看.在不同的操作系统下,socket原理是一样的,但是有些东西还是不一样的.