static void Main(string[] args) { #if TEST_CENTER_CLIENT CenterClientApi.HandleNameHandleChangedCallback cb1 = HandleNameHandleChanged; CenterClientApi.HandleMessageCallback cb2 = HandleMessage; CenterClientApi.HandleMessageResultCallback cb3 = HandleMessageResult; CenterClientApi.HandleCommandCallback cb4 = HandleCommand; byte[] bytes = Encoding.ASCII.GetBytes("test test test"); CenterClientApi.Init("csharpclient", args.Length, args, cb1, cb2, cb3, cb4); CenterClientApi.ReloadConfigScript(); CenterClientApi.ReloadConfigScript(); for (; ;) { CenterClientApi.Tick(); Thread.Sleep(10); int handle = CenterClientApi.TargetHandle("ServerCenter"); if (handle > 0) { bool ret = CenterClientApi.SendByHandle(handle, bytes, (ushort)bytes.Length); CenterClientApi.SendCommandByHandle(handle, "output('test test test');"); } } //CenterClientApi.Release(); #else CenterHubApi.HandleNameHandleChangedCallback cb1 = HandleNameHandleChanged2; CenterHubApi.HandleMessageCallback cb2 = HandleMessage2; CenterHubApi.HandleMessageResultCallback cb3 = HandleMessageResult2; CenterHubApi.HandleCommandCallback cb4 = HandleCommand2; byte[] bytes = Encoding.ASCII.GetBytes("test test test"); CenterHubApi.Init("centerhub", args.Length, args, cb1, cb2, cb3, cb4); CenterHubApi.ReloadConfigScript(); CenterHubApi.ReloadConfigScript(); for (; ;) { CenterHubApi.Tick(); Thread.Sleep(10); int handle = CenterHubApi.TargetHandle(0, "hub2world0"); if (handle > 0) { bool ret = CenterHubApi.SendByHandle(0, handle, bytes, (ushort)bytes.Length); CenterHubApi.SendCommandByHandle(0, handle, "output('test test test');"); } handle = CenterHubApi.TargetHandle(1, "hub2world1"); if (handle > 0) { bool ret = CenterHubApi.SendByHandle(1, handle, bytes, (ushort)bytes.Length); CenterHubApi.SendCommandByHandle(1, handle, "output('test test test');"); } } //CenterHubApi.Release(); #endif }
private void Init(string[] args) { m_NameHandleCallback = this.OnNameHandleChanged; m_MsgCallback = this.OnMessage; m_MsgResultCallback = this.OnMessageResultCallback; m_CmdCallback = this.OnCommand; m_LogHandler = this.OnCenterLog; CenterHubApi.SetCenterLogHandler(m_LogHandler); CenterHubApi.Init("userserver", args.Length, args, m_NameHandleCallback, m_MsgCallback, m_MsgResultCallback, m_CmdCallback); LogSys.Init("./config/logconfig.xml"); UserServerConfig.Init(); GlobalVariables.Instance.IsClient = false; string key = "防君子不防小人"; byte[] xor = Encoding.UTF8.GetBytes(key); ResourceReadProxy.OnReadAsArray = ((string filePath) => { byte[] buffer = null; try { buffer = File.ReadAllBytes(filePath); } catch (Exception e) { LogSys.Log(LOG_TYPE.ERROR, "Exception:{0}\n{1}", e.Message, e.StackTrace); return(null); } return(buffer); }); LogSystem.OnOutput += (Log_Type type, string msg) => { switch (type) { case Log_Type.LT_Debug: LogSys.Log(LOG_TYPE.DEBUG, msg); break; case Log_Type.LT_Info: LogSys.Log(LOG_TYPE.INFO, msg); break; case Log_Type.LT_Warn: LogSys.Log(LOG_TYPE.WARN, msg); break; case Log_Type.LT_Error: case Log_Type.LT_Assert: LogSys.Log(LOG_TYPE.ERROR, msg); break; } }; LoadData(); LogSys.Log(LOG_TYPE.INFO, "Init Config ..."); s_Instance = this; InstallMessageHandlers(); LogSys.Log(LOG_TYPE.INFO, "Init Messenger ..."); m_DataCacheThread.Init(m_DataCacheChannel); LogSys.Log(LOG_TYPE.INFO, "Init DataCache ..."); Start(); LogSys.Log(LOG_TYPE.INFO, "Start Threads ..."); }