📄 loginplayermanager.h
字号:
////////////////////////////////////////////////////////////////////////// Filename : LoginPlayerManager.h// Written by : reiot@ewestsoft.com// Description : 肺弊牢 辑滚侩 肺弊牢 敲饭捞绢 概聪历////////////////////////////////////////////////////////////////////////#ifndef __LOGIN_PLAYER_MANAGER_H__#define __LOGIN_PLAYER_MANAGER_H__// include files#include "Types.h"#include "Exception.h"#include "PlayerManager.h"#include "ServerSocket.h"class LoginPlayer;////////////////////////////////////////////////////////////////////////// class LoginPlayerManager;//// 肺弊牢 辑滚俊 立加茄 葛电 敲饭捞绢甸阑 包府茄促.////////////////////////////////////////////////////////////////////////class LoginPlayerManager : public PlayerManager {public : // constructor LoginPlayerManager () throw ( Error ); // destructor ~LoginPlayerManager () throw ( Error );public : // 努扼捞攫飘 概聪历甫 檬扁拳茄促. void init () throw ( Error ); // accept new connection void acceptNewConnection () throw ( Error ); // select() 矫胶袍妮阑 荤侩秦辑 I/O Multiplexing阑 茄促. void select () throw ( Error ); // 立加茄 葛电 荤侩磊狼 涝仿阑 涝仿 滚欺肺 汗荤茄促. void processInputs () throw ( Error ); // 立加茄 葛电 荤侩磊狼 免仿阑 努扼捞攫飘肺 傈价茄促. void processOutputs () throw ( Error ); // 立加茄 葛电 荤侩磊狼 菩哦阑 贸府茄促. void processCommands () throw ( Error ); // OOB 单捞鸥甫 贸府茄促. ^^; void processExceptions () throw ( Error );public : // 肺弊牢 辑滚俊 立加茄 葛电 敲饭捞绢甸俊霸 漂沥 菩哦阑 傈崔茄促. void broadcastPacket ( Packet * pPacket ) throw ( Error ); // 漂沥 酒捞叼狼 敲饭捞绢俊霸 漂沥 菩哦阑 傈崔茄促. void sendPacket ( const string & id , Packet * pPacket ) throw ( Error ); // 敲饭捞绢 按眉甫 眠啊茄促. void addPlayer ( Player * pPlayer ) throw ( DuplicatedException , Error ); void addPlayer_NOLOCKED ( Player * pPlayer ) throw ( DuplicatedException , Error ); // 敲饭捞绢 按眉甫 昏力茄促. void deletePlayer ( SOCKET fd ) throw ( OutOfBoundException , NoSuchElementException , Error ); void deletePlayer_NOLOCKED ( SOCKET fd ) throw ( OutOfBoundException , NoSuchElementException , Error ); // 敲饭捞绢 按眉俊 立辟茄促. LoginPlayer * getPlayer ( const string & PCName ) const throw ( NoSuchElementException , Error ); LoginPlayer * getPlayer_NOLOCKED ( const string & PCName ) const throw ( NoSuchElementException , Error ); // lock/unlock void lock () throw ( Error ) { m_Mutex.lock(); } void unlock () throw ( Error ) { m_Mutex.unlock(); } // get debug string string toString () const throw ();private : // 辑滚 家南 ServerSocket * m_pServerSocket; // 辑滚 家南 叼胶农赋磐 ( for fast reference ) SOCKET m_ServerFD; // 家加等 敲饭捞绢甸狼 家南 叼胶农赋磐狼 笼钦捞促. // m_XXXXFDs[0]篮 历厘侩捞哥, m_XXXFDs[1]捞 角力肺 select()狼 颇扼固磐肺 荤侩等促. // 溜 select()窍扁 傈俊 [0] -> [1] 肺 汗荤啊 捞风绢廉具 茄促. fd_set m_ReadFDs[2]; fd_set m_WriteFDs[2]; fd_set m_ExceptFDs[2]; // select俊 荤侩登绰 矫埃 Timeval m_Timeout[2]; // min_fd , max_fd // select()饶 iterating 且 锭 加档 刘啊甫 困秦辑 荤侩茄促. // 肚茄 select()狼 霉锅掳 颇扼固磐甫 拌魂窍扁 困秦辑 荤侩茄促. SOCKET m_MinFD; SOCKET m_MaxFD; // 肺弊牢 辑滚狼 皋牢 风橇绰 窜老 静饭靛肺 备泅等促. // 蝶扼辑, mutex 甫 荤侩窍瘤 臼酒档 瞪 巴贸烦 焊捞瘤父.. // 霸烙辑滚肺何磐 单捞磐弊伐阑 罐酒辑 贸府窍绰 风凭篮 // 刀赋利牢 静饭靛肺 备泅等促. 溜, 捞 静饭靛啊 LPM狼 // 敲饭捞绢 硅凯阑 manipulate且 锭 版里炼扒捞 惯积且 // 啊瓷己捞 臭促. - -; mutable Mutex m_Mutex;};// external variable declarationextern LoginPlayerManager * g_pLoginPlayerManager;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -