我在一个多线程处理的服务端程序中,使用了CSocket类。
首先,侦听端口。如果有连接请求被Accept,则转入到新的线程取处理。
while(1)
{
    CSocket      nsock;
    SOCKET       tsock;
    i=sizeof(sockaddr);
    if(listen_socket.Accept(nsock,&nfrm,&i)!=0)
    {
        tsock=nsock.Detach();
        if(AfxBeginThread(ReceviceProc,(void *)tsock)==NULL)
        {
   nsock.Close();
        }
        else
        {
            
}
nsock.Close();
      }
}
在处理线程ReceiveProc中,重新定义一个CSocket对象sock,sock.Attach((SOCKET)nPara)),在处理线程退出时,sock.Close(),但是,最近发现有内存问题,即在任务管理器中发现内存在4k的增加,但是,我该关闭的东西全部都关闭了。通过内存监测工具检查不出来。VC中的Debug页检查不出。请高手指点。