/**********************救命啊******************/我用CAsyncSocket做了一个C/S单服务器多客户端程序;但当监听时间较长后客户端连接服务端就会失败,跟踪发现accept函数执行时出现10038错误。查表发现:〖10038〗-在一个非套接字上尝试了一个操作。怎么弄也不明白,我的程序很清晰啊。代码如下
CMySocket ListenSocket;
ListenSocket.Create(6000);
ListenSocket.Listen();void CMySocket::OnAccept(int nErrorCode)
{
CMySocket *TcpLink=new CMySocket(this);
if(!TcpLink)
return; if(Accept(*TcpLink))
{
TcpLink->pr.CreateInstance(_uuidof(Recordset));
}
else
{
delete TcpLink;
m_pwnd->m_edit4.Format("%d",m_pwnd->FailAccept);
nErrorCode=GetLastError();
CString errormessage;
errormessage.Format("连接错误=%d",nErrorCode);
WriteLog("\n");
WriteLog(errormessage);
AfxMessageBox(errormessage);
}
CAsyncSocket::OnAccept(nErrorCode);
}
CMySocket ListenSocket;
ListenSocket.Create(6000);
ListenSocket.Listen();void CMySocket::OnAccept(int nErrorCode)
{
CMySocket *TcpLink=new CMySocket(this);
if(!TcpLink)
return; if(Accept(*TcpLink))
{
TcpLink->pr.CreateInstance(_uuidof(Recordset));
}
else
{
delete TcpLink;
m_pwnd->m_edit4.Format("%d",m_pwnd->FailAccept);
nErrorCode=GetLastError();
CString errormessage;
errormessage.Format("连接错误=%d",nErrorCode);
WriteLog("\n");
WriteLog(errormessage);
AfxMessageBox(errormessage);
}
CAsyncSocket::OnAccept(nErrorCode);
}
解决方案 »
- 网站上获取的图片如何显示在按钮控件上
- Tab控件中标签页的缩放
- 求<<Visual c++游戏开发技术与实例>>一书的光盘源代码,谢谢了!!
- 麻烦各位大虾给个思路:关于屏幕划词
- 定做listbox(listbox放置combobox item)
- windows socket网络程序设计大全的第一个例子
- 快救救我,为什么安装Win2000找不到键盘,而导致安装无法继续?
- 程序崩溃的问题
- PostMessage函数使用问题,急,谢谢!
- vc++初学者看什么书好,大家帮帮忙sos!!
- 我用CWebBrowser2控监做了个ie浏览器,并截取一部分的HTML...
- 100分求助急急急!!!谁先解决全给他。ADO“连接占线导致另一个hsmt”的问题
-------------------------------------------------------
在合适地方释放TcpLink的空间试试看吧。
就象看股票一样。