#pragma once #include "akNetworkLinker.h" #include #include "akThread.h" //SM => Shared Memory Message class AKNETWORK_DLLSPEC CakSharedServer : public CakThreadInterface { public: typedef void (*RecvMsgFunc) (char* pMsg, int nMsglen, void*); typedef void (*SystemMsgFunc) (char* pMsg, int nMsglen, void*); public: CakSharedServer(void); ~CakSharedServer(void); // ¼­¹ö»ý¼º bool CreateServer(char* pServerName); // ¼­¹öÁ¾·á void CloseServer(); // »ý¼ºµÈ ¼­¹ö ¾ÆÀÌÇÇ °ª ¾ò±â char* GetServerName(); // ¸Þ¼¼Áö ¼Û½Å bool Send(char* sendMsg, int length){return TRUE;}; // ¼ÒÄÏ ¸Þ¼¼Áö ¼ö½Å ÄÝ¹é ¼³Á¤ void SetRecvMessageCallback(RecvMsgFunc userFunc, void* data = NULL); // ½Ã½ºÅÛ ¸Þ¼¼Áö ¼ö½Å ÄÝ¹é ¼³Á¤ void SetSystemMessageCallback(SystemMsgFunc userFunc, void* data = NULL); // ¼­¹ö »ý¼º »óÅ inline bool GetServerState(){return m_bServerCreate;}; unsigned int m_nRecvBufferSize; protected: void setSystemMsg(const char* format, ...); virtual void threadRun(); protected: bool m_bServerCreate; HANDLE m_hSharedMap; char* m_pSharedMemory; CakThread m_akThread; HANDLE m_hEventSendMessage; //void (*pCallBackRecvMsg)(char*,int,void*); // Äݹé ÇÔ¼ö RecvMsgFunc m_recvmsgFunc; void* m_recvmsgData; SystemMsgFunc m_systemmsgFunc; void* m_systemmsgData; };