📄 worldserver.h
字号:
#ifndef _WORLDSERVER_H_
#define _WORLDSERVER_H_
#define DISP_OK DISPMSG( " [OK]\n" );
#define DISP_FAIL DISPMSG( " Failed!\n" );
#include <windows.h>
#include <Singleton.h>
#include <map>
#include <const.h>
#include <Timer.h>
#include <ServerStruct.h>
// 甘 肺爹 困秦 眠啊
#include <3DEngine/3DTerrain/3DTerrain.h>
using namespace std;
class IOCPServer;
class Session;
class ServerSession;
class NetworkObject;
using namespace util;
class WorldServer : public Singleton<WorldServer>
{
enum { CLIENT_IOHANDLER = 0,
SERVER_IOHANDLER = 1 };
friend NetworkObject* CallBackOnAccept( DWORD dwNetworkIndex );
friend VOID CallBackOnDisconnect( DWORD dwSessionIndex, NetworkObject *pNetworkObject );
public:
WorldServer();
~WorldServer();
VOID UpdateServerTitle();
BOOL Init();
VOID Release();
VOID Run();
BOOL Update();
VOID StartListen();
VOID StartListen( char *szIP, WORD wPort, char *szInnerIP, WORD wInnerPort );
VOID ConnectToServer( NetworkObject *pNetworkObject, char *pszIP, WORD wPort );
inline VOID Shutdown() { m_bShutdown = TRUE; }
inline BOOL IsOnShutdown() { return m_bShutdown; }
inline VOID SetServerKey( SERVER_KEY key ) { m_ServerKey = key; }
inline SERVER_KEY GetServerKey() { return m_ServerKey; }
inline DWORD GetWorldID() { return m_ServerKey.GetWorldID(); }
inline DWORD GetChannelID() { return m_ServerKey.GetChannelID(); }
inline DWORD GetServerID() { return m_ServerKey.GetServerID(); }
VOID ConnectToDBProxyServer();
BOOL ProcessConsole();
VOID ReadAndSendNotice();
BOOL IsConnectedTo( eSERVER_TYPE eServerType );
VOID SetGameDBProxyServerAddr( TCHAR* tszDBProxyIP, WORD wDBProxyPort );
VOID ConnectToGameDBProxyServer();
inline eSERVER_TYPE GetServerType() { return WORLD_SERVER; }
HINSTANCE m_hDll3DTerrain; // DLL Instance
FUNC_ContactTerrain m_fnContactTerrain; // 甘 沥焊 楷搬 function
private:
VOID UpdateFPS();
VOID DisplayServerInfo();
VOID MaintainConnection();
ServerSession *m_pMasterServer;
ServerSession *m_pGameDBProxy;
IOCPServer *m_pIOCPServer;
BOOL m_bShutdown;
DWORD m_dwFPS;
util::Timer m_ReconnectTimer;
SERVER_KEY m_ServerKey;
};
#endif // _WORLDSERVER_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -