Сервера:служба мультиплексирование с использованием 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();
Client Код:
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) и клиент, клиентский процесс оленьей кожи последние два вызова функций добавления/умножения.
Я мог бы отладить, что аргументы были отправлены на сервер, но сервер не может их обработать.
Любые указания относительно того, что мне не хватает?
Может быть полезно знать язык, особенно с Thrift, как многоязычный интерфейс RPC. C#? C++? Ява? System.out.println() выглядит как последний ... – JensG
Это только в java .. И клиент, и сервер –
Хорошо, что означает «сервер не может их обработать»? Вы получаете сообщение об ошибке или что еще? – JensG