Server代碼:服務多元化使用Apache節儉
TMultiplexedProcessor processor = new TMultiplexedProcessor();
processor.registerProcessor(
"AddService",
new AddService.Processor(new AddHandler()));
processor.registerProcessor(
"MultiplyService",
new MultiplyService.Processor(new MultiplyHandler()));
TServerTransport serverTransport = new TServerSocket(7911);
TSimpleServer server = new TSimpleServer(new TSimpleServer.Args(serverTransport).
processor(processor));
System.out.println("Starting server on port 7911 ...");
server.serve();
客戶端代碼:
TFramedTransport transport;
transport = new TFramedTransport(new TSocket("localhost", 7911));
transport.open();
TProtocol protocol = new TBinaryProtocol(transport);
System.out.println("1");
TMultiplexedProtocol mp = new TMultiplexedProtocol(protocol, "AddService");
AddService.Client service = new AddService.Client(mp);
System.out.println("2");
TMultiplexedProtocol mp2 = new TMultiplexedProtocol(protocol, "MultiplyService");
MultiplyService.Client service2 = new MultiplyService.Client(mp2);
System.out.println("3");
System.out.println(service.add(2,2));
System.out.println(service2.multiply(2000,200));
但是當我運行服務器(端口7911監聽)和客戶端,客戶端犯規進程最後兩次調用add/multiply函數。
我可以調試參數已發送到服務器,但服務器無法處理它們。
任何指針,至於我失蹤?
可能有助於瞭解語言,尤其是Thrift作爲多語言RPC框架。 C#? C++? Java的? System.out.println()看起來像後者... – JensG
這是隻在java中。客戶端和服務器端 –
好吧,什麼意思是「服務器無法處理它們」呢?你是否收到錯誤消息,或者還有什麼? – JensG