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 }); }
public MockThriftServer() { _handler = new Handler(); var processor = new ThriftFlumeEventServer.Processor(_handler); _serverTransport = new TServerSocket(9090); _server = new TThreadedServer(processor, _serverTransport); _serveOnSeparateThread = new Thread(_server.Serve); _serveOnSeparateThread.Start(); }
public static bool Execute(string[] args) { try { bool useBufferedSockets = false, useFramed = false, useEncryption = false, compact = false, json = false; ServerType serverType = ServerType.TSimpleServer; ProcessorFactoryType processorFactoryType = ProcessorFactoryType.TSingletonProcessorFactory; int port = 9090; string pipe = null; for (int i = 0; i < args.Length; i++) { if (args[i] == "-pipe") // -pipe name { pipe = args[++i]; } else if (args[i].Contains("--port=")) { port = int.Parse(args[i].Substring(args[i].IndexOf("=") + 1)); } else if (args[i] == "-b" || args[i] == "--buffered" || args[i] == "--transport=buffered") { useBufferedSockets = true; } else if (args[i] == "-f" || args[i] == "--framed" || args[i] == "--transport=framed") { useFramed = true; } else if (args[i] == "--compact" || args[i] == "--protocol=compact") { compact = true; } else if (args[i] == "--json" || args[i] == "--protocol=json") { json = true; } else if (args[i] == "--threaded" || args[i] == "--server-type=threaded") { serverType = ServerType.TThreadedServer; } else if (args[i] == "--threadpool" || args[i] == "--server-type=threadpool") { serverType = ServerType.TThreadPoolServer; } else if (args[i] == "--prototype" || args[i] == "--processor=prototype") { processorFactoryType = ProcessorFactoryType.TPrototypeProcessorFactory; } else if (args[i] == "--ssl") { useEncryption = true; } } // Transport TServerTransport trans; if (pipe != null) { trans = new TNamedPipeServerTransport(pipe); } else { if (useEncryption) { string certPath = "../../../../test/keys/server.p12"; trans = new TTLSServerSocket(port, 0, useBufferedSockets, new X509Certificate2(certPath, "thrift"), null, null, SslProtocols.Tls); } else { trans = new TServerSocket(port, 0, useBufferedSockets); } } TProtocolFactory proto; if (compact) proto = new TCompactProtocol.Factory(); else if (json) proto = new TJSONProtocol.Factory(); else proto = new TBinaryProtocol.Factory(); TProcessorFactory processorFactory; if (processorFactoryType == ProcessorFactoryType.TPrototypeProcessorFactory) { processorFactory = new TPrototypeProcessorFactory<ThriftTest.Processor, TestHandler>(); } else { // Processor TestHandler testHandler = new TestHandler(); ThriftTest.Processor testProcessor = new ThriftTest.Processor(testHandler); processorFactory = new TSingletonProcessorFactory(testProcessor); } TTransportFactory transFactory; if (useFramed) transFactory = new TFramedTransport.Factory(); else transFactory = new TTransportFactory(); TServer serverEngine; switch (serverType) { case ServerType.TThreadPoolServer: serverEngine = new TThreadPoolServer(processorFactory, trans, transFactory, proto); break; case ServerType.TThreadedServer: serverEngine = new TThreadedServer(processorFactory, trans, transFactory, proto); break; default: serverEngine = new TSimpleServer(processorFactory, trans, transFactory, proto); break; } //Server event handler TradeServerEventHandler serverEvents = new TradeServerEventHandler(); serverEngine.setEventHandler(serverEvents); // Run it string where = (pipe != null ? "on pipe " + pipe : "on port " + port); Console.WriteLine("Starting the " + serverType.ToString() + " " + where + (processorFactoryType == ProcessorFactoryType.TPrototypeProcessorFactory ? " with processor prototype factory " : "") + (useBufferedSockets ? " with buffered socket" : "") + (useFramed ? " with framed transport" : "") + (useEncryption ? " with encryption" : "") + (compact ? " with compact protocol" : "") + (json ? " with json protocol" : "") + "..."); serverEngine.Serve(); } catch (Exception x) { Console.Error.Write(x); return false; } Console.WriteLine("done."); return true; }
static void Main(string[] args) { //Start the background mock trade generator thread (new Thread(TradeEventGenerator.ThreadProc)).Start(); //Create the Service Handler and Processor TradeStreamHandler handler = new TradeStreamHandler(); PNWF.TradeStream.Processor proc = new PNWF.TradeStream.Processor(handler); //Setup the I/O stack factories TServerTransport trans = new TNamedPipeServerTransport("TradeStream"); TTransportFactory transFac = new TTransportFactory(); TProtocolFactory protoFac = new TCompactProtocol.Factory(); //Setup the server and register the event handler TServer server = new TThreadedServer(proc, trans, transFac, protoFac); server.setEventHandler(new TradeServerEventHandler()); server.Serve(); }
public ClientWorker(TTransport client, TThreadedServer parent) { this.client = client; this.parent = parent; }