一定给分!socket编程! csocket和多线程不容,你用sdk吧. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要在线程间传递MFC对象,用Handle来做。CSocket内建了一个窗体,而对于每个窗体要调用AfxSocketInit()的。最好在线程里建立一个socket,实在要这么写的话,要这样:UINT SendData(LPVOID Param){ CXXXDlg* pDlg = (CXXXDlg*)Param; ... AfxSockInit(); CSocket* pSocket = new CSocket(); pSocket->FromHandle(pDlg->m_pSocket->m_hSocket); pSocket->Create(); ... delete pSocket; return 0L;} 这样好象不行因为我在线程中用 pSocket->FromHandle(pDlg->m_pSocket->m_hSocket);时返回是空(pDlg->m_pSocket->m_hSocket)不空!请教各位高手到底是什么原因,难道csocket类不支持线程吗?! 没可能吧,这样子我用过的,居然不行?要不:UINT SendData(LPVOID Param){ CXXXDlg* pDlg = (CXXXDlg*)Param; ... AfxSockInit(); CAsyncSocket* pSocket = new CAsyncSocket(); pSocket->Attach(pDlg->m_pSocket->m_hSocket); pSocket->Create(); ... pSocket->Detach(); delete pSocket; return 0L;} 没可能吧,这样子我用过的,居然不行?要不:UINT SendData(LPVOID Param){ CXXXDlg* pDlg = (CXXXDlg*)Param; ... AfxSockInit(); CAsyncSocket* pSocket = new CAsyncSocket(); pSocket->Attach(pDlg->m_pSocket->m_hSocket); pSocket->Create(); ... pSocket->Detach(); delete pSocket; return 0L;} CDocablePane如何插入CmfcButton? 怎么让一Dialog加载到View区域显示? 有关CDC类的问题! 这段代码为什么会这样??? 不生成新的状态栏类,能否直接在状态栏上画图? 在视图内如何退出整个程序? 有什么办法可以编程实现删除所有COOKIE? 小弟有一些关于前程的问题渴望得到众大侠的解答,还望不吝赐教! Strip(阿飞),请你老大救 我 初始化的问题(很易的) MFC/SDI/DAO连接Access的.mdb数据库的入门问题 一个有关.bmp文件的问题
CSocket内建了一个窗体,而对于每个窗体要调用
AfxSocketInit()的。最好在线程里建立一个socket,
实在要这么写的话,要这样:
UINT SendData(LPVOID Param)
{
CXXXDlg* pDlg = (CXXXDlg*)Param;
...
AfxSockInit();
CSocket* pSocket = new CSocket();
pSocket->FromHandle(pDlg->m_pSocket->m_hSocket);
pSocket->Create();
...
delete pSocket;
return 0L;
}
pSocket->FromHandle(pDlg->m_pSocket->m_hSocket);时返回是空(pDlg->m_pSocket->m_hSocket)不空!
请教各位高手到底是什么原因,难道csocket类不支持线程吗?!
要不:
UINT SendData(LPVOID Param)
{
CXXXDlg* pDlg = (CXXXDlg*)Param;
...
AfxSockInit();
CAsyncSocket* pSocket = new CAsyncSocket();
pSocket->Attach(pDlg->m_pSocket->m_hSocket);
pSocket->Create();
...
pSocket->Detach();
delete pSocket;
return 0L;
}
要不:
UINT SendData(LPVOID Param)
{
CXXXDlg* pDlg = (CXXXDlg*)Param;
...
AfxSockInit();
CAsyncSocket* pSocket = new CAsyncSocket();
pSocket->Attach(pDlg->m_pSocket->m_hSocket);
pSocket->Create();
...
pSocket->Detach();
delete pSocket;
return 0L;
}