广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么实现Thrift服务端
  • 570
分享到

python怎么实现Thrift服务端

2023-06-14 14:06:14 570人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python怎么实现Thrift服务端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所

这篇文章将为大家详细讲解有关python怎么实现Thrift服务端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析人工智能web开发等。

环境准备

  • 根据自身实际情况下载对应的Thrift编译器,比如我在windows系统上使用的是thrift-0.9.3.exe 。下载地址:Http://arcHive.apache.org/dist/thrift/

  • python安装thrift库:pip install thrift

编写.thrift文件

.thrift文件定义了Thrift服务端和Thrift客户端的通信接口,在该文件中定义的接口需由服务端实现,并可被客户端调用。Thrift编译器会调用.thrift文件生成不同语言的thrift代码,用于之后实现thrift服务端或thrift客户端。

.thrift文件的编写规则可参考Thrift白皮书。下面将以demo.thrift文件举例

service DemoService{    string ping(1:string param)    map<i32,string> get_int_string_mapping_result(1:i32 key, 2:string value)    bool get_bool_result()}

生成python对应的thrift代码

使用以下命令可以生成不同语言的thrift代码:

thrift --gen <language> <Thrift filename>

 通过thrift-0.9.3.exe --gen py demo.thrift 命令生成python版本的thrift文件,文件夹为gen-py,如下所示:

python怎么实现Thrift服务端

编写服务端

编写服务端server.py,用于实现在demo.thrift文件中定义的接口功能。

from thrift.transport import TSocketfrom thrift.transport import TTransportfrom thrift.protocol import TBinaryProtocolfrom thrift.server import TServerimport syssys.path.append("./gen-py/")from demo import DemoServiceimport randomclass DemoServer:    def __init__(self):        self.log = {}    def ping(self, param):        return "echo:" + param    def get_int_string_mapping_result(self, key, value):        return {key: value}    def get_bool_result(self):        return random.choice([True, False])if __name__ == '__main__':    # 创建处理器    handler = DemoServer()    processor = DemoService.Processor(handler)    # 监听端口    transport = TSocket.TServerSocket(host="0.0.0.0", port=9999)    # 选择传输层    tfactory = TTransport.TBufferedTransportFactory()    # 选择传输协议    pfactory = TBinaryProtocol.TBinaryProtocolFactory()    # 创建服务端    server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory)    # 设置连接线程池数量    server.setNumThreads(5)    # 启动服务    server.serve()

编写客户端用于测试

编写客户端client.py,用于测试服务端功能是否可用。

from thrift import Thriftfrom thrift.transport import TSocketfrom thrift.transport import TTransportfrom thrift.protocol import TBinaryProtocolimport syssys.path.append("./gen-py/")from demo import DemoServiceif __name__ == '__main__':    transport = TSocket.TSocket('127.0.0.1', 9999)    transport = TTransport.TBufferedTransport(transport)    protocol = TBinaryProtocol.TBinaryProtocol(transport)    client = DemoService.Client(protocol)    # 连接服务端    transport.open()    recv = client.ping("test")    print(recv)    recv = client.get_int_string_mapping_result(10, "MyThrift")    print(recv)    recv = client.get_bool_result()    print(recv)    # 断连服务端    transport.close()

编写完成后,整个项目结构如下图所示:

python怎么实现Thrift服务端

测试服务端

运行服务端server.py后,运行客户端client.py,打印的内容如下:

echo:test{10: 'MyThrift'}True

此时客户端能够正常调用服务端所提供的接口。(PS:在调试过程中,也许需要修改gen-py文件夹中Thrift编译器生成的python代码)

关于“python怎么实现Thrift服务端”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: python怎么实现Thrift服务端

本文链接: https://www.lsjlt.com/news/271446.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python怎么实现Thrift服务端
    这篇文章将为大家详细讲解有关python怎么实现Thrift服务端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所...
    99+
    2023-06-14
  • python实现Thrift服务端的方法
    目录环境准备编写.thrift文件生成python对应的thrift代码编写服务端编写客户端用于测试测试服务端近期在项目中存在跨编程语言协作的需求,使用到了Thrift。本文将记录用...
    99+
    2022-11-12
  • python thrift 服务端与客户
    一、简介   thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#...
    99+
    2023-01-31
    服务端 客户 python
  • Python中怎么实现服务端与客户端连接
    本篇内容主要讲解“Python中怎么实现服务端与客户端连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中怎么实现服务端与客户端连接”吧!服务端我们使用 socket 模块的&nbs...
    99+
    2023-06-08
  • python客户端与服务器端通信怎么实现
    Python客户端与服务器端通信可以通过套接字(socket)实现。1. 服务器端首先需要创建一个套接字,并绑定到指定的IP地址和端...
    99+
    2023-09-08
    python 服务器
  • Python基于socket怎么实现TCP客户端和服务端
    这篇文章主要讲解了“Python基于socket怎么实现TCP客户端和服务端”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python基于socket怎么实现TCP客户端和服务端”吧!一、基...
    99+
    2023-06-30
  • 怎么使用python实现android的服务器端
    这篇“怎么使用python实现android的服务器端”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用python实现...
    99+
    2023-07-02
  • Python socket怎么实现服务端和客户端数据传输
    今天小编给大家分享一下Python socket怎么实现服务端和客户端数据传输的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-06-30
  • 使用Java如何实现创建一个thrift服务器
    使用Java如何实现创建一个thrift服务器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结...
    99+
    2023-05-31
    java thrift 服务器
  • 怎么用Consul-template+Nginx实现Thrift Consul负载均衡
    今天小编给大家分享一下怎么用Consul-template+Nginx实现Thrift Consul负载均衡的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2023-06-27
  • C#怎么使用远程服务调用框架Apache Thrift
    这篇“C#怎么使用远程服务调用框架Apache Thrift”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么...
    99+
    2023-07-02
  • vue中怎么实现服务端渲染
    本篇文章为大家展示了vue中怎么实现服务端渲染,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、什么是服务端渲染客户端请求服务器,服务器根据请求地址获得匹配的组件,...
    99+
    2022-10-19
  • python rpyc客户端怎么调用服务端
    这篇文章主要介绍“python rpyc客户端怎么调用服务端”,在日常操作中,相信很多人在python rpyc客户端怎么调用服务端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pytho...
    99+
    2023-07-02
  • Python双端队列怎么实现
    这篇文章主要介绍了Python双端队列怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python双端队列怎么实现文章都会有所收获,下面我们一起来看看吧。0. 学习目标双端队列是另一个线性数据结构。虽然它...
    99+
    2023-06-29
  • Python基于socket实现TCP客户端和服务端
    目录一、基于socket实现的TCP客户端二、基于socket实现的TCP服务端三、socket实现的多任务版TCP服务端1、面向对象版本一、基于socket实现的TCP客户端 im...
    99+
    2022-11-10
  • C#中怎么实现服务端与客户端通信
    C#中怎么实现服务端与客户端通信,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#服务端与客户端通信实现实例:TcpClient client;&nb...
    99+
    2023-06-17
  • C#中怎么实现服务端与客户端连接
    这篇文章将为大家详细讲解有关C#中怎么实现服务端与客户端连接,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#服务端与客户端连接实现实例:class Client {&n...
    99+
    2023-06-17
  • Angular4+server render服务端渲染怎么实现
    这篇文章将为大家详细讲解有关Angular4+server render服务端渲染怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。目标:1.更好的 SEO,方便搜索...
    99+
    2022-10-19
  • python中怎么使用TCP实现对话客户端和服务器
    TCP 客户端一个使用TCP协议实现可连续对话的客户端示例代码:import socket # 客户端配置 HOST = 'localhost' PORT = 12345 # 创建TCP套接字并连接服务器 client_so...
    99+
    2023-05-17
    服务器 Python TCP
  • nodejs中socket怎么实现服务端和客户端功能
    小编给大家分享一下nodejs中socket怎么实现服务端和客户端功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:使用node.js的net模块能很快的开发出基于TCP的服务端...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作