//工作线程
//hcocket为SOCKET
//在UI线程中开始监听
UINT smtpServerThread(LPVOID pParam)
{
CString sTemp("helo");
CSocket serverSocket;
serverSocket.Attach(hcocket);
CSocket * psmtpConnectSocket=new CSocket;
if(!serverSocket.Accept(*psmtpConnectSocket))
{
delete psmtpConnectSocket;
return 0;
}
::AfxBeginThread(smtpServerThread,pParam);
psmtpConnectSocket->Send((LPCTSTR)sTemp,sTemp.GetLength());
psmtpConnectSocket->Close();
delete psmtpConnectSocket;
return 0;
}
//为什么我的程序只能连接一次,当第二次连接时!serverSocket.Accept(*psmtpConnectSocket)就为
//ture,没法进行第二个连接,程序运行到return 0;时而且还会出错
//大家帮帮忙忙的
//hcocket为SOCKET
//在UI线程中开始监听
UINT smtpServerThread(LPVOID pParam)
{
CString sTemp("helo");
CSocket serverSocket;
serverSocket.Attach(hcocket);
CSocket * psmtpConnectSocket=new CSocket;
if(!serverSocket.Accept(*psmtpConnectSocket))
{
delete psmtpConnectSocket;
return 0;
}
::AfxBeginThread(smtpServerThread,pParam);
psmtpConnectSocket->Send((LPCTSTR)sTemp,sTemp.GetLength());
psmtpConnectSocket->Close();
delete psmtpConnectSocket;
return 0;
}
//为什么我的程序只能连接一次,当第二次连接时!serverSocket.Accept(*psmtpConnectSocket)就为
//ture,没法进行第二个连接,程序运行到return 0;时而且还会出错
//大家帮帮忙忙的
解决方案 »
- 求问:我如何有条件自动启动我自己写的应用程序呢?
- 在string table里添加了一个字符串, 编译出错, 提示 ../Include/resource.h Cannot save file. Access denied
- STL中的list是否是线程安全的?
- 如何在程序运行时动态地创建不定数量的文本框?
- 谁知道HANDLE (WINAPI *pIcmpCreateFile)(VOID)的意思
- cimage
- 智能卡 envelope命令
- 套接字问题,高手请进,220分!
- 如何获得CListCtrl的HDN_ITEMCLICK消息?
- 我的程序错在什么地方?
- 大家看一下我这段代码有什么问题???
- Dll中的导出类怎么使用??谢谢
hsocket 是公有的,werversocket attach之后一直没有释放,下次再attach时就失败了,从而倒置accept调用失败
因为它必须有个窗口发送消息
放弃CSOCKET,用SOCKET API来写就可以了
服务器就死掉了,提示说sockcore的问题。是因为CSOCKET不支持后台多线程么?