#pragma once #include #include "AcceptClient.h" #include namespace BEQ { typedef std::function ONACCEPT; typedef std::function ONCLOSE; typedef struct _ServerListener { ONACCEPT onAccept; ONCLOSE onClose; } ServerListener; class CSocketServer : public CAsyncSocket { public: CSocketServer(); CSocketServer::CSocketServer(int port, BEQ::ServerListener listener); ~CSocketServer(); public: void setListenter(BEQ::ServerListener listener); void setPort(UINT port); void init(); public: virtual void OnAccept(int nErrorCode); virtual void OnClose(int nErrorCode); virtual void OnReceive(int nErrorCode); private: UINT m_port; ServerListener m_listener; }; }