当前位置: 首页 > news >正文

潍坊门户网站建设做百度网站费用

潍坊门户网站建设,做百度网站费用,免费游戏网页入口,九天智能建站软件以下是一个 使用多路复用#xff08;TMultiplexedProtocol#xff09; 的 Thrift 客户端完整流程和关键函数#xff08;以 Java 为例#xff09;#xff0c;适用于当服务端使用 TMultiplexedProcessor 注册了多个服务时#xff0c;客户端可以区分并调用不同的服务。 ✅ 客… 以下是一个 使用多路复用TMultiplexedProtocol 的 Thrift 客户端完整流程和关键函数以 Java 为例适用于当服务端使用 TMultiplexedProcessor 注册了多个服务时客户端可以区分并调用不同的服务。 ✅ 客户端整体流程使用 TMultiplexedProtocol 1. 定义多个服务以两个为例 // example1.thrift namespace java exampleservice ExampleService1 {string sayHello(1:string name) }// example2.thrift namespace java exampleservice ExampleService2 {i32 add(1:i32 a, 2:i32 b) } 使用 Thrift 编译器生成 Java 代码 thrift --gen java example1.thrift thrift --gen java example2.thrift 2. 服务端使用多路复用服务端部分简略 TMultiplexedProcessor multiplexedProcessor new TMultiplexedProcessor();multiplexedProcessor.registerProcessor(ExampleService1, new ExampleService1.Processor(new ExampleService1Impl())); multiplexedProcessor.registerProcessor(ExampleService2, new ExampleService2.Processor(new ExampleService2Impl()));TServerTransport serverTransport new TServerSocket(9090); TServer server new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(multiplexedProcessor)); server.serve(); 3. 客户端实现核心 import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TMultiplexedProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport;import example.ExampleService1; import example.ExampleService2;public class ThriftClient {public static void main(String[] args) {TTransport transport null;try {// 1. 打开传输层连接transport new TSocket(localhost, 9090);transport.open();// 2. 创建基础协议TProtocol baseProtocol new TBinaryProtocol(transport);// 3. 使用多路复用协议针对不同服务TMultiplexedProtocol protocol1 new TMultiplexedProtocol(baseProtocol, ExampleService1);TMultiplexedProtocol protocol2 new TMultiplexedProtocol(baseProtocol, ExampleService2);// 4. 创建客户端 Stub代理ExampleService1.Client client1 new ExampleService1.Client(protocol1);ExampleService2.Client client2 new ExampleService2.Client(protocol2);// 5. 调用服务方法String greeting client1.sayHello(Alice);int result client2.add(5, 7);System.out.println(Service1 response: greeting);System.out.println(Service2 response: result);} catch (Exception e) {e.printStackTrace();} finally {// 6. 关闭连接if (transport ! null) {transport.close();}}} } 4. C 版本客户端实现 客户端代码C #include #include #include #include #include ExampleService1.h #include ExampleService2.husing namespace apache::thrift; using namespace apache::thrift::protocol; using namespace apache::thrift::transport;int main() {try {// 客户端连接std::shared_ptr socket(new TSocket(localhost, 9090));std::shared_ptr transport(new TBufferedTransport(socket));std::shared_ptr protocol(new TBinaryProtocol(transport));transport-open();// 使用多路复用协议TMultiplexedProtocol protocol1(protocol, ExampleService1);TMultiplexedProtocol protocol2(protocol, ExampleService2);// 创建客户端ExampleService1Client client1(protocol1);ExampleService2Client client2(protocol2);// 调用服务std::string greeting;client1.sayHello(greeting, Alice);std::cout Response from ExampleService1: greeting std::endl;int result;client2.add(result, 5, 7);std::cout Response from ExampleService2: result std::endl;transport-close();} catch (const std::exception e) {std::cerr Error: e.what() std::endl;}return 0; }客户端关键类和函数说明 类 / 函数 作用说明 TSocket(host, port) 创建客户端传输连接基于 TCP transport.open() 打开连接 TBinaryProtocol 使用二进制协议进行编码 TMultiplexedProtocol 多路复用协议用于标识服务名称 ExampleService1.Client 客户端代理调用服务方法 client1.sayHello(Alice) 实际调用远程服务端方法 transport.close() 关闭连接 ✅ 小提示 多路复用的关键是 服务端使用 TMultiplexedProcessor 注册服务带名字客户端用 TMultiplexedProtocol 创建不同服务的协议实例带同样的名字。
http://www.zqtcl.cn/news/249182/

相关文章:

  • 毕节金海湖新区城乡建设局网站企业网站的步骤
  • 网站后台设计教程网站建设判断题
  • 珠海网站建设 金蝶天元建设集团有限公司李华
  • 海安市建设局网站成都官网seo技术
  • 网站建设策划书结束语wordpress付费版
  • 进口网站建设做网站用什么格式的图片
  • 青海省住房和城乡建设部网站进入网站空间
  • 做公司简介的开源网站企业seo多少费用
  • 学校网站建设工作方案昆明做网站词排名优化
  • 镇江企业做网站针对人群不同,网站做细分
  • 个人单页网站建设台州网站建设惠店
  • 专做婚礼logo的网站做搜狗pc网站快速排
  • 北京网站建设公司分享网站改版注意事项做网站需要多大空间
  • 主机网站建设制作天津西青区天气预报
  • 网站没有内容可以备案吗横向网站源码
  • 做的网站浏览器提示不安全站优化
  • dede移动端网站源码电子商务网站建设开题报告
  • 做网站价格多少优质做网站哪家好
  • 网站建设及推广服务的合同范本留言网站建设的报告
  • 工程师招聘网站做网站需要公司资质吗
  • 苏州模板网站建站开网店如何运营和推广
  • 换空间网站备案北京网页设计平台
  • 德德模板网站建设步骤可信的品牌网站建设
  • 网站权重0免费好用的ip代理
  • 赣州建设网站公司敬请期待英文怎么写
  • 可以做多边形背景的网站深圳网站建设 套餐
  • 建设工程的招标网站有哪些长江证券官方网站下载
  • 鹤壁网站建设智能网站建设步骤
  • 建设工程规划许可证在哪个网站查询手机免费推广软件
  • 微信上的网站怎么做的吗网页设计结果分析怎么写