static void Main(string[] args) { CClient Client = new CClient(); Client.m_Core.Connect(ServerP2P_Common.Join.ipaddr, ServerP2P_Common.Join.portnum, ServerP2P_Common.Join.protocol_ver); DisplayHelpCommand(); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/q": Client.m_Core.Leave(); break; case "/exit": run_program = false; break; case "/h": DisplayHelpCommand(); break; // 자동으로 서버이동 처리하기 : 요청 즉시 자동으로 해당타입의 서버로 이동(자동 로드벨런싱 처리) case "/maina": Client.m_Core.MoveToServer((int)ServerP2P_Common.Server.Main); break; // 자동으로 서버이동 처리하기 : 요청 즉시 자동으로 해당타입의 서버로 이동(자동 로드벨런싱 처리) case "/logina": Client.m_Core.MoveToServer((int)ServerP2P_Common.Server.Login); break; // 반자동으로 서버이동 처리하기 : 서버이동 과정에 부가적인 처리할 내용이 있을경우 case "/main": Client.proxy.request_move_to_server(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Basic, (int)ServerP2P_Common.Server.Main); break; // 반자동으로 서버이동 처리하기 : 서버이동 과정에 부가적인 처리할 내용이 있을경우 case "/login": Client.proxy.request_move_to_server(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Basic, (int)ServerP2P_Common.Server.Login); break; default: // packet send test Client.proxy.request_message(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Encrypt, ret.Result); Client.stub.reponse_message = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, string msg) => { Console.WriteLine(string.Format("recv : {0}", msg)); return(true); }; break; } if (run_program) { ret = ReadLineAsync(); } } Client.m_Core.NetLoop(); System.Threading.Thread.Sleep(1); } Client.m_Core.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }
static void Main(string[] args) { CClient Client = new CClient(); Client.m_Core.Connect(ServerP2P_Common.Join.ipaddr, ServerP2P_Common.Join.portnum, ServerP2P_Common.Join.protocol_ver); DisplayHelpCommand(); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/q": Client.m_Core.Leave(); break; case "/exit": run_program = false; break; case "/h": DisplayHelpCommand(); break; // 자동으로 서버이동 처리하기 : 요청 즉시 자동으로 해당타입의 서버로 이동(자동 로드벨런싱 처리) case "/maina": Client.m_Core.MoveToServer((int)ServerP2P_Common.Server.Main); break; // 자동으로 서버이동 처리하기 : 요청 즉시 자동으로 해당타입의 서버로 이동(자동 로드벨런싱 처리) case "/logina": Client.m_Core.MoveToServer((int)ServerP2P_Common.Server.Login); break; // 반자동으로 서버이동 처리하기 : 서버이동 과정에 부가적인 처리할 내용이 있을경우 case "/main": Client.proxy.request_move_to_server(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Basic, (int)ServerP2P_Common.Server.Main); break; // 반자동으로 서버이동 처리하기 : 서버이동 과정에 부가적인 처리할 내용이 있을경우 case "/login": Client.proxy.request_move_to_server(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Basic, (int)ServerP2P_Common.Server.Login); break; default: // packet send test Client.proxy.request_message(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Encrypt, ret.Result); Client.stub.reponse_message = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, string msg) => { Console.WriteLine(string.Format("recv : {0}", msg)); return true; }; break; } if (run_program) ret = ReadLineAsync(); } Client.m_Core.NetLoop(); System.Threading.Thread.Sleep(1); } Client.m_Core.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }