我开发一个C/S模式的程序,服务端的功能做成了多个DLL模块。其中有一个功能独立出来写时(重新建立新工程,分C/S),客户端采用API的SOCKET,没用CSocket可以无误的运行,接收和发送都是采用多线程。但是当我把该功能集成到我的程序时,客户端出现无法接收数据的情况,代码基本上是一样的,只是我的客户端采用的是CSocket加多线程,而且传给多线程的参数是SOCKET,不是CSocket的对象。还有一点不同的是客户端接收的这个模块是一个子窗体,其他的都一样了,不知为什么不行。
不知我说的能看懂不,还望大侠赐教,回贴有分呀!
不知我说的能看懂不,还望大侠赐教,回贴有分呀!
你可能没理解我说,是这样的//这个我通信的对象,但有的资料说在线程里使用直接使用CSocket会线程不安全
CSocket m_Socket; //所以我从CSocket中分离出SOCKET,就用这个作参数传入线程,再用recv接收数据
SOCKET sock;问题是现在在线程中recv会接收数据出现失败或错误的情况