lsock.cpp
来自「网络编程源代码」· C++ 代码 · 共 79 行
CPP
79 行
// LSock.cpp: implementation of the CLSock class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "WS.h"
#include "LSock.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CLSock::CLSock()
{
}
CLSock::~CLSock()
{
}
void CLSock::OnAccept(int nErrorCode)
{
CRWSock *rwSock;
rwSock=new CRWSock;
if(Accept(*rwSock))
{
m_RWSocks.AddTail(rwSock);
}
else
{
delete rwSock;
AfxMessageBox("Accept() fail");
}
CSocket::OnAccept(nErrorCode);
}
void CLSock::CloseSocket(CRWSock *pSocket)
{
pSocket->Close();
POSITION pos;
pos=m_RWSocks.Find(pSocket);
m_RWSocks.RemoveAt(pos);
if(pSocket!=NULL)
{
delete pSocket;
}
}
void CLSock::CloseAllSockets()
{
POSITION pos;
CRWSock *rwSock;
pos=m_RWSocks.GetHeadPosition();
while(pos!=NULL)
{
_DATA dat;
rwSock=(CRWSock*)m_RWSocks.GetNext(pos);
dat.m_bOnline=false;
rwSock->Send(&dat,sizeof(dat));
CloseSocket(rwSock);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?