广告
返回顶部
首页 > 资讯 > 后端开发 > Python >grpc python 和Java实现
  • 721
分享到

grpc python 和Java实现

grpcpythonJava 2023-01-31 05:01:44 721人浏览 安东尼

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

摘要

grpc实战教程:说一下目的:实现python变成的服务端,Java作为客户端,实现二者的通信,实现的功能:传递过来的字符串全部转换为大写 一、安装(Java和Python)1、  Python安装grpc1)      gRPC 的安装

grpc实战教程

说一下目的:实现python变成的服务端,Java作为客户端,实现二者的通信,实现的功能:传递过来的字符串全部转换为大写

 

一、安装(Java和Python

1、  Python安装grpc

1)      gRPC 的安装,执行命令:pipinstall grpcio

2)      ProtoBuf 相关的 python 依赖库,执行:pipinstall protobuf

3)      安装 python grpc 的 protobuf 编译工具,执行:pipinstall grpcio-tools

2、  Java安装grpc

3、  参考:https://GitHub.com/grpc/grpc-java,添加对应的jar包和插件,我的测试是在ideaMaven工程下进行的,只需在pom文件中,添加对应的依赖和插件即可。

二、编写对应的客户端(java)和服务端(Python)

1、首先编写proto文件,由于是测试,proto文件如下:

 

注意:编译成Python和Java都是使用的此文件内容

2、编译成Python和Java对应的文件()

首先变成Python所需要的文件,我的目录结构如下:


 

首先找到data.proto所在的目录,执行下列命令:

python –m grpc_tools.protoc –I=. –python_out=.–grpc_python_out=.

完成对data.proto的编译,生成

首先实现对应的服务端代码,建立serviceMain模块:

编写客户端代码,建立clientMain模块:

 

Python服务端和客户端测试,首先启动服务端,然后启动客户端:

 

下面编译Java对应的文件和代码,为了方便,首先建立一个maven工程,并在maven工程下src/main目录下建立proto文件夹(这个proto文件夹只能在这里建立,是为了下面更好的编译,减少不必要的麻烦),具体目录如下:

建立data.proto文件,

 

 

将建立的data.proto文件到proto文件夹中,然后打开pom文件,按照Https://github.com/grpc/grpc-java,添加对应的jar包和插件即可。

然后通过maven下载好这些jar和插件好,打开工程右边的maven projects,可以看到如下:

然后点击上图红色方框对应的按钮,就会编译data.proto(这也是上述为啥建立proto文件夹在src/main下的原因),等待编译完成就会在工程目录target\generated-sources\protobuf\java看到编译后的文件(包含自己指定的package和生成的java类)。

 

这时只是生成了对应rpc传输的数据结构类,还没有生成对应的服务端的代码,下面就该生成服务端的代码了,同样打开项目右侧的maven projects,点击“package”将项目打包,如下图

此时在target/generated-sources/protobuf下会生成grpc-java文件,生成的服务端代码就在此文件中,将生成的类剪切(是剪切,当然复制完成删除也可以,避免报错)拷贝工程中对应的package下,如下图红色框内的类就是生成的文件:

 

这时在Java package下建立package的层次关系,

 

剩下的就是实现java服务端和客户端的内容,首先定义了一个常量类:

实现具体服务端的内容如下(实现在data.proto中定义的函数):

 

具体java服务端的实现如下(注意观察红色方框内)如下,需要两步:

第一步,实现服务端的具体操作(注意此时还是没有建立服务启动内容,嘿嘿,因为还没有设定具体的端口号,仅仅实现了服务端要做的操作而已)

建立服务端的服务:

 

 

 

具体java客户端的实现:

 

Java服务端和客户端测试,首先启动服务端,再启动客户端,然后运行DefinedClient.java的main函数,可以看到下面的输出就表示成功!

 

 

 

三、跨语言的测试:

第一种情况:Java客户端,Python服务端,启动上述对应的代码模块(先启动服务,然后运行客户端):

可以看到也

--结束END--

本文标题: grpc python 和Java实现

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

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

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

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

下载Word文档
猜你喜欢
  • grpc python 和Java实现
    Grpc实战教程:说一下目的:实现Python变成的服务端,Java作为客户端,实现二者的通信,实现的功能:传递过来的字符串全部转换为大写 一、安装(Java和Python)1、  Python安装grpc1)      gRPC 的安装...
    99+
    2023-01-31
    grpc python Java
  • GoLang与Java各自生成grpc代码怎么实现
    本篇内容介绍了“GoLang与Java各自生成grpc代码怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.背景由于公司的日志系统使...
    99+
    2023-07-05
  • Go gRPC教程实现Simple RPC
    目录前言新建proto文件创建Server端创建Client端总结前言 gRPC主要有4种请求和响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side ...
    99+
    2022-11-13
  • Go gRPC怎么实现Simple RPC
    本篇内容介绍了“Go gRPC怎么实现Simple RPC”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言gRPC主要...
    99+
    2023-07-02
  • Go语言Grpc Stream的实现
    目录Stream GrpcStream Grpc演示BookListStreamCreateBookStreamFindBookByIdStreamStream Grpc 在我们单次...
    99+
    2022-11-13
  • 怎么用Python语言的grpc实现消息传送
    这篇“怎么用Python语言的grpc实现消息传送”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python语言的gr...
    99+
    2023-07-05
  • grpc官方文档实验与翻译(python
    tensorflow分布式与tensorflow serving底层通信都是是用的grpc,所以就看了一下grpc的基本用法(python版) 首先是环境的安装,先要更新pip到version8或者以上 $ python -m pip i...
    99+
    2023-01-31
    文档 官方 grpc
  • gRPC超时拦截器实现示例
    目录介绍安装快速开始1.创建 boot.yaml2.创建 main.go3.启动 main.go4.验证介绍 本文介绍如何通过 rk-boot 快速搭建 gRPC 超时拦截器。 什么...
    99+
    2022-11-13
  • gRPC超时拦截器如何实现
    这篇文章主要介绍“gRPC超时拦截器如何实现”,在日常操作中,相信很多人在gRPC超时拦截器如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”gRPC超时拦截器如何实现”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-02
  • Golang语言实现gRPC的具体使用
    目录gRPC 的特点使用 gRPC 定义服务端使用 gRPC 的客户端gRPC 是通信协议基于 HTTP/2,支持多语言的 RPC 框架,使用 Protobuf 作为它的接口设计语言...
    99+
    2022-11-11
  • go实现grpc四种数据流模式
    目录1. 什么是数据流2. grpc的四种数据流2.1 简单模式2.2 服务端数据流模式2.3 客户端数据流模式2.4 双向数据流3. 上代码3.1 代码目录3.2 编写stream...
    99+
    2022-11-13
  • Golang实现gRPC的Proxy的原理解析
    背景 gRPC是Google开始的一个RPC服务框架, 是英文全名为Google Remote Procedure Call的简称。 广泛的应用在有RPC场景的业务系统中,一些架构中...
    99+
    2022-11-12
  • Java gRPC拦截器如何实现分布式日志链路追踪器
    这篇文章主要介绍“Java gRPC拦截器如何实现分布式日志链路追踪器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java gRPC拦截器如何实现分布式日志链路追踪器”文章能帮...
    99+
    2023-07-05
  • Go gRPC服务proto数据验证怎么实现
    今天小编给大家分享一下Go gRPC服务proto数据验证怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。创...
    99+
    2023-07-02
  • Go创建Grpc链接池实现过程详解
    目录常规用法创建链接池创建链接池接口实现链接池接口关闭链接扩缩容性能测试常规用法 gRPC 四种基本使用 请求响应模式客户端数据流模式服务端数据流模式双向流模式 常见的gRPC调用...
    99+
    2023-03-03
    Go创建Grpc链接池 Go Grpc
  • godoudou开发gRPC服务快速上手实现详解
    目录引言准备安装go安装gRPC编译器和插件安装编译器protoc安装插件安装go-doudou初始化项目定义服务生成代码实现接口测试服务总结引言 go-doudou从v2版本开...
    99+
    2022-12-08
    go doudou开发gRPC服务 go gRPC
  • 如何在Golang中使用gRPC实现基础的服务端和客户端
    gRPC是一种高性能、开源和通用的远程过程调用框架,适用于跨语言和平台的RPC调用。它利用Google开发的protobuf协议进行数据传输,可以快速实现服务端和客户端的通信,并且提供了丰富的功能和扩展性。本文将介绍如何在Golang中使用...
    99+
    2023-05-14
  • python实现java的hashcod
    def convert_n_bytes(n, b): bits = b * 8 return (n + 2 ** (bits - 1)) % 2 ** bits - 2 ** (bits - 1)def convert_4_byte...
    99+
    2023-01-31
    python java hashcod
  • java实现TCPsocket和UDPsocket的实例
    目录概述传输层概述TCP套接字编程大致过程详细过程UDP套接字编程补充概述         我们在网络...
    99+
    2022-11-13
  • Python、PHP和Java下的反序列化漏洞复现实例
    环境准备 这篇文章旨在用于网络安全学习,请勿进行任何非法行为,否则后果自负。  python反序列化 p83 CTF夺旗 Python考点SST&反序列化&字符串_正经人_____的博客-CSDN博客 php反序列化 p84 CTF夺旗-P...
    99+
    2023-09-17
    java 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作