求个CSocket与多线程结合的例子 楼主把答案说的这么明白了 在子线程中创建CSocket临时对象并Attach传入的socket句柄 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 。(){ CNsocket *netsocket; netsocket->Create(); netsocket->Connect("192.168.1.106",10000); AfxBeginThread(BuildList,(LPVOID &)netsocket);}UINT BuildList(LPVOID p){ CNsocket *soc=(CNsocket *)p; CSocket socket; socket.Attach(*soc); soc->Send("dqwd",10,0); return 0;}我是这么做的,可当收到消息时为什么线程中OnReceive还不触发啊? 子线程新声明一个CSocket的对象attach主线程中detach的句柄 各位就不能说具体点啊?我的程序有什么问题吗?即使是在connect后加个detach还是不好使。 线程串参数要传socket句柄,应该是CSocket的m_hSocket变量听说CSocket类不是线程安全的,直接传对象可能会出问题 Attach()的参数是一个是一个SOCKET类型的套接字句柄,*soc是一个套接字对象。 SOCKET类型的套接字句柄是什么啊?句柄不是对象吗?天啊!句柄怎么传啊,谁能给个例子啊 你不是传递了一个指针soc吗?soc->m_hSocket应该把这个作为参数传进去。 补充一下,在线程中创建的临时对象应该是那个CSocket派生类的对象,这样才会触发你重载的OnReceive()函数。 求助:OpenGL关于绘制3D网格线的问题,帮忙看下代码,本人新人 求助:3D旋转 已知一个位图句柄,如何保存为BMP图片保存到指定文件中 VC对IE浏览器的二次开发技术求解 如何得到exe文件名,好难啊! 各位大虾,怎么从Axis视频服务器获取视频流? 如何让对话框只显示一次 推荐学习串口/并口通信入门教材 有用过BoundChecker的各位大侠,请看下面的错误,是用BoundChecker编译的,给小弟解释一下,不胜感激。 向指定句柄发消息出错,着急啊!!! VC怎么学好 确认或者退出时出错
CNsocket *netsocket;
netsocket->Create();
netsocket->Connect("192.168.1.106",10000);
AfxBeginThread(BuildList,(LPVOID &)netsocket);
}
UINT BuildList(LPVOID p)
{
CNsocket *soc=(CNsocket *)p;
CSocket socket;
socket.Attach(*soc);
soc->Send("dqwd",10,0);
return 0;
}
我是这么做的,可当收到消息时为什么线程中OnReceive还不触发啊?
我的程序有什么问题吗?即使是在connect后加个detach还是不好使。
听说CSocket类不是线程安全的,直接传对象可能会出问题
句柄怎么传啊,谁能给个例子啊
你不是传递了一个指针soc吗?soc->m_hSocket应该把这个作为参数传进去。