static void Main(string[] args) { string ipaddr = "127.0.0.1"; UInt16 portnum = 20000; // 로드벨런싱을 위한 여러개의 서버를 실행하기 위해 이 서버의 Listen Port번호를 파라미터로 입력가능 if (args.Length == 1) { portnum = UInt16.Parse(args[0]); } MainServer Svr = new MainServer(); ZNet.StartOption param = new ZNet.StartOption(); param.m_IpAddressListen = ipaddr; param.m_PortListen = portnum; param.m_MaxConnectionCount = 2000; param.m_RefreshServerTickMs = 10000; param.m_ProtocolVersion = ServerP2P_Common.Join.protocol_ver; Svr.m_Core.SetKeepAliveOption(30); ZNet.ResultInfo outResult = new ZNet.ResultInfo(); if (Svr.m_Core.Start(param, outResult)) { Console.WriteLine("MainServer Start ok.\n"); DisplayHelpCommand(); } else { Console.WriteLine("Start error : {0} \n", outResult.msg); } // master client connect Svr.m_Core.MasterConnect( ServerP2P_Common.MasterServerConnect.master_ipaddr, ServerP2P_Common.MasterServerConnect.master_portnum, "MainServer", (int)ServerP2P_Common.Server.Main ); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/h": DisplayHelpCommand(); break; case "/stat": DisplayStatus(Svr.m_Core); break; case "/q": Console.WriteLine("quit Server..."); run_program = false; break; } if (run_program) ret = ReadLineAsync(); } System.Threading.Thread.Sleep(10); } Console.WriteLine("Start Closing... "); Svr.m_Core.Dispose(); Console.WriteLine("Close complete."); System.Threading.Thread.Sleep(1000 * 2); }
static void Main(string[] args) { string ipaddr = "127.0.0.1"; UInt16 portnum = 20033; // 로드벨런싱을 위한 여러개의 서버를 실행하기 위해 이 서버의 Listen Port번호를 파라미터로 입력가능 if (args.Length == 1) { portnum = UInt16.Parse(args[0]); } MainServer Svr = new MainServer(); ZNet.StartOption param = new ZNet.StartOption(); param.m_IpAddressListen = ipaddr; param.m_PortListen = portnum; param.m_MaxConnectionCount = 2000; param.m_RefreshServerTickMs = 10000; param.m_ProtocolVersion = ServerP2P_Common.Join.protocol_ver; Svr.m_Core.SetKeepAliveOption(30); ZNet.ResultInfo outResult = new ZNet.ResultInfo(); if (Svr.m_Core.Start(param, outResult)) { Console.WriteLine("MainServer Start ok.\n"); DisplayHelpCommand(); } else { Console.WriteLine("Start error : {0} \n", outResult.msg); } // master client connect : 서버간 P2P통신을 위해 마스터 서버로 접속하는 부분 (접속 성공 이후 자동으로 모든 서버간 P2P연결 활성) Svr.m_Core.MasterConnect( ServerP2P_Common.MasterServerConnect.master_ipaddr, ServerP2P_Common.MasterServerConnect.master_portnum, "MainServer", (int)ServerP2P_Common.Server.Main ); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/h": DisplayHelpCommand(); break; case "/stat": DisplayStatus(Svr.m_Core); break; case "/q": Console.WriteLine("quit Server..."); run_program = false; break; } if (run_program) { ret = ReadLineAsync(); } } System.Threading.Thread.Sleep(10); } Console.WriteLine("Start Closing... "); Svr.m_Core.Dispose(); Console.WriteLine("Close complete."); System.Threading.Thread.Sleep(1000 * 2); }