#ifndef __WEBSERVER_H__ #define __WEBSERVER_H__ #include "../../base/HGDef.h" #include "../../base/HGInc.h" #include "../../base/HGThread.h" #include "WebMsg.h" #include #define ServerType_Ws 1L #define ServerType_Http 2L #define ServerType_SockIo 3L class WebServer { public: WebServer(class MsgLoop *loop, HGUInt type); ~WebServer(); class MsgLoop* GetLoop(); HGUInt GetType(); bool Open(HGUShort port); bool Close(); void HandleMsg(const WebMsg* msg); private: int GetUserIndex(HGUInt id); static void ThreadFunc(HGThread thread, HGPointer param); private: class MsgLoop* m_loop; HGUInt m_type; HGUInt m_currUserId; #if defined(HG_CMP_MSC) SOCKET m_sockServer; #else int m_sockServer; #endif HGThread m_listenThread; std::vector m_vectorUser; }; #endif /* __WEBSERVER_H__ */