⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gameservermanager.h

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 H
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : GameServerManager.h// Written by  : reiot@ewestsoft.com// Description : //////////////////////////////////////////////////////////////////////////////#ifndef __GAME_SERVER_MANAGER_H__#define __GAME_SERVER_MANAGER_H__#include "Thread.h"#include "Types.h"#include "Timeval.h"#include "Exception.h"#include "GameServerPlayer.h"#include "ServerSocket.h"#include "Mutex.h"////////////////////////////////////////////////////////////////////////////////// class GameServerManager;////////////////////////////////////////////////////////////////////////////////class GameServerManager : public Thread{public:	GameServerManager() throw(Error);	~GameServerManager() throw(Error);public:	// 溅绢靛辑滚俊辑 罐酒甸捞绰 弥措 霸烙辑滚 荐	const static uint nMaxGameServers = 100;	// initialize 	void init() throw(Error);	void run() throw (Error);	// broadcast packet to all players	void broadcast(Packet* pPacket) throw(Error);	void broadcast(Packet* pPacket, Player* pPlayer) throw(Error);	// select 	void select() throw(TimeoutException, InterruptedException, Error);	// process all inputs	void processInputs() throw(IOException, Error);	// process all outputs	void processOutputs() throw(IOException, Error);	// process all exceptions	void processExceptions() throw(IOException, Error);		// process all commands	void processCommands() throw(IOException, Error);	// accept new connection	void acceptNewConnection() throw(Error);	// add/delete player	void addGameServerPlayer(GameServerPlayer* pGameServerPlayer) throw(DuplicatedException, Error);	void deleteGameServerPlayer(SOCKET fd) throw(OutOfBoundException, NoSuchElementException, Error);	// lock/unlock	void lock() throw(Error) { m_Mutex.lock(); }	void unlock() throw(Error) { m_Mutex.unlock(); }	void heartbeat() throw(Error);private:	// TCP 辑滚 家南苞 家南 叼胶农赋磐	ServerSocket* m_pServerSocket;	SOCKET m_SocketID;	// 家加等 敲饭捞绢甸狼 家南 叼胶农赋磐狼 笼钦捞促.	// 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	mutable Mutex m_Mutex;	// 霸烙辑滚狼 器牢磐 硅凯. 家南 叼胶农赋磐甫 牢郸胶肺 荤侩茄促.	GameServerPlayer* m_pGameServerPlayers[nMaxGameServers];};// external variable declarationextern GameServerManager* g_pGameServerManager;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -