Пример #1
0
        private static void initThrift(IGateway gw)
        {
            G.DefaultGateway = gw;
            var cp          = new ClientProcessor(gw);
            var t_processor = new Client.GW.Processor(cp);
            var transport   = new Thrift.Transport.TServerSocket(6325, 100000, true);

            System.Threading.ThreadPool.SetMinThreads(1, 0);
            var tps = new Thrift.Server.TThreadPoolServer(t_processor, transport);

            Task.Run(() =>
            {
                Console.WriteLine($"{gw.GetPrimaryKeyString()}:Task: thrift started");
                System.Threading.ThreadPool.GetMaxThreads(out var wt, out var cpt);
                Console.WriteLine($"ThreadPool maxwt:{wt} maxcpt:{cpt}");
                tps.Serve();
            });
            Task.Run(() =>
            {//心跳检测,如果客户端长时间没有发起thrift请求,那么回收token,类似udp判断玩家是否断线
                while (true)
                {
                    cp.CheckHeartbeat(); Thread.Sleep(1000);
                }
            });
        }
Пример #2
0
        static void Main(string[] args)
        {
            EventAnaliyServiceEmp handler = new DataProviderService.EventAnaliyServiceEmp();

            RigourTech.TennisDataAnaliy.Processor pro = new RigourTech.TennisDataAnaliy.Processor(handler);

            //Task t1= Task.Run(()=>
            // {
            //     Console.WriteLine("接收客户端服务启动");
            //     Thrift.Transport.TServerSocket ts = new Thrift.Transport.TServerSocket(1889);
            //     TServer server = new TSimpleServer(pro, ts);
            //     server.Serve();

            // });

            //Task t2= Task.Run(()=>
            // {
            Console.WriteLine("接收底层数据服务启动");
            Thrift.Transport.TServerSocket ts = new Thrift.Transport.TServerSocket(8807);
            TServer server = new Thrift.Server.TThreadedServer(pro, ts);

            server.Serve();
            //});

            //Task.WaitAll(new Task[] {t2 });
        }
Пример #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("服务运行中");
            EventAnaliyServiceEmp handler = new DataProviderService.EventAnaliyServiceEmp();

            TennisDataAnaliy.TennisDataAnaliy.Processor pro = new TennisDataAnaliy.TennisDataAnaliy.Processor(handler);
            Thrift.Transport.TServerSocket ts = new Thrift.Transport.TServerSocket(1899);
            TServer server = new TSimpleServer(pro, ts);

            server.Serve();
        }