示例#1
0
        static void Main(string[] args)
        {
            UInt16 portnum = 20000;
            string ipaddr  = "127.0.0.1";

            SampleServer Svr = new SampleServer();

            ZNet.StartOption param = new ZNet.StartOption();
            param.m_IpAddressListen = ipaddr;
            param.m_PortListen      = portnum;

            // 최대 동접 숫자 설정
            param.m_MaxConnectionCount = 5000;

            // 연결 유지 시간 설정(초단위)
            Svr.m_Core.SetKeepAliveOption(10);

            ZNet.ResultInfo outResult = new ZNet.ResultInfo();
            if (Svr.m_Core.Start(param, outResult))
            {
                Console.WriteLine("Server Start ok. ver[{0}.{1:0000}]\n", Svr.m_Core.GetCoreVersion() / 10000, Svr.m_Core.GetCoreVersion() % 10000);
                DisplayHelpCommand();
            }
            else
            {
                Console.WriteLine("Start error : {0} \n", outResult.msg);
            }

            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);
        }
示例#2
0
文件: Program.cs 项目: KimKJ/Zero
        static void Main(string[] args)
        {
            UInt16 portnum = 20000;
            string ipaddr = "127.0.0.1";

            SampleServer Svr = new SampleServer();

            ZNet.StartOption param = new ZNet.StartOption();
            param.m_IpAddressListen = ipaddr;
            param.m_PortListen = portnum;

            // 최대 동접 숫자 설정
            param.m_MaxConnectionCount = 5000;

            // 연결 유지 시간 설정(초단위)
            Svr.m_Core.SetKeepAliveOption(10);

            ZNet.ResultInfo outResult = new ZNet.ResultInfo();
            if (Svr.m_Core.Start(param, outResult))
            {
                Console.WriteLine("Server Start ok. ver[{0}.{1:0000}]\n", Svr.m_Core.GetCoreVersion() / 10000, Svr.m_Core.GetCoreVersion() % 10000);
                DisplayHelpCommand();
            }
            else
            {
                Console.WriteLine("Start error : {0} \n", outResult.msg);
            }

            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);
        }