CSocket 内存一直涨的问题。请有经验的朋友帮忙看看
UINT CNetworkComDlg::ThreadProc(LPVOID lparam)//{
if (!netwhenb)
{
return 0;
}
RECVPARAM *pRecvData=(RECVPARAM *)lparam;
CSocket *server=pRecvData->serverSocket;
SOCKET sock=pRecvData->pSOCKET;
server->Attach(sock);//将CSocket与SOCKET绑定
while(true)
{
if (!netwhenb)
{
break;
}
CSocket *clientSocket=new CSocket;
server->Accept(*clientSocket);//获得客户端的连接Accept就是取一个包回来 指针向clientSocket。
//clientSocket->Receive();
//接收客户端的连接之后启动新的线程来处理与客户端的交互
pRecvData->currentSocket=clientSocket;
SOCKET hSOCKET=clientSocket->Detach();//从CSocket中分离出SOCKET 就是这个句? 这个会涨内存
pRecvData->pSOCKET=hSOCKET;
//SendRecvProc(pRecvData);
delete(clientSocket);
}
AfxEndThread(0);
return 0;
}
怎么我delete clientSocket SendRecvProc 我又关了,但 在 Detach()后内存都一直在涨。有什么办法能free掉内存吗。一直4k4k 的涨,涨到16m左右内存占用直接就给我死掉了。为什么Detach()会让内存涨个不停啊。