| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #include "stdafx.h"
- #include "ServerSocket.h"
- #include "NetLinkMgr.h"
- #include "NetLinkClient.h"
- CServerSocket::CServerSocket(CNetLinkMgr* pParent) : m_pParent(pParent)
- {
- ASSERT(m_pParent != NULL);
- }
- CServerSocket::~CServerSocket( void )
- {
- Close();
- }
- // CServerSocket 成员函数
- /*****************************************************************
- **【函数名称】 Init
- **【函数功能】 初始化SOCKET SERVER
- **【参数】 a_nListenPort: 监听端口
- **【返回值】 初始化是否成功
- ****************************************************************/
- BOOL CServerSocket::init( int a_ListenPort )
- {
- if(!Create(a_ListenPort))
- return FALSE;
- if(!Listen())
- {
- Close();
- return FALSE;
- }
- return TRUE;
- }
- /*****************************************************************
- **【函数名称】 OnAccept
- **【函数功能】 客户端连接请求事件响应(重写)
- **【参数】
- **【返回值】
- ****************************************************************/
- void CServerSocket::OnAccept( int ErrorCode )
- {
- // 响应客户端的连接请求
- CNetLinkClient* pClient = new CNetLinkClient(m_pParent);
- ASSERT(pClient != NULL);
- if(pClient != NULL)
- {
- if(Accept(*pClient))
- m_pParent->onClientConnect(pClient); // 连接建立
- else
- delete pClient;
- }
- CAsyncSocket::OnAccept(ErrorCode);
- }
|