Пример #1
0
 /// <summary>
 /// 要注册的服务器列表,注意一个服务只能注册一次,否则会失败(port不能重复注册)
 /// </summary>
 /// <param name="servers"></param>
 public void Register(SuperGMSServer[] servers)
 {
     try
     {
         if (servers == null || servers.Length < 1)
         {
             throw new Exception("no Server can Register");
         }
         foreach (SuperGMSServer s in servers)
         {
             TServerSocket           serverTransport = new TServerSocket(s.Config.Port);
             TBinaryProtocol.Factory factory         = new TBinaryProtocol.Factory();//传输协议
             TProcessor processor = new ThriftService.Processor(s.Server);
             TServer    server    = new TThreadPoolServer(processor, serverTransport, new TTransportFactory(), factory);
         }
     }
     catch (TTransportException tex)
     {
         //等log组件改造完之后再记录
     }
     catch (Exception ex)
     {
         //等log组件改造完之后再记录
     }
 }
        public static void Main(string[] args)
        {
            Service serv = getService();

            ThriftService.Processor processor = new ThriftService.Processor(serv);
            TServerTransport        st        = new TServerSocket(9090);
            TServer server = new TThreadedServer(processor, st);

            Console.WriteLine("Starting server : listening on port 9090 ....");
            server.Serve();
        }