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

广东省建设厅网站蒙古文门户网站建设督导

广东省建设厅网站,蒙古文门户网站建设督导,高端品牌网站建设特点,西安旅游攻略景点必去点击上方GRPC专栏看系列 文章目录Abstract前置依赖本文初始状态编写自己的Service实现(Server端)编写客户端下一步Abstract 网上有很多GRPC的例子,但是却没有能够写给普通Java开发人员手把手入门少走弯路的教程。 本教程保证按照步骤一步步来…

点击上方GRPC专栏看系列

文章目录

  • Abstract
  • 前置依赖
  • 本文
    • 初始状态
    • 编写自己的Service实现(Server端)
    • 编写客户端
  • 下一步

Abstract

网上有很多GRPC的例子,但是却没有能够写给普通Java开发人员手把手入门少走弯路的教程。
本教程保证按照步骤一步步来你就可以完成GRPC从0到1的构建。
源码地址:grpc-helloworld-for-java

前置依赖

装有maven和JDK。并且保证javac命令可用。

本文

本文是系列的第3篇,将编写自定义的server/service和client调用实现。 代码在分支:step3-client-server。

初始状态

git clone https://github.com/gaoxingliang/grpc-helloworld-for-java.git
--跟着上一篇的branch接着修改
git step2-protobuffer

编写自己的Service实现(Server端)

新建包com.example.cs来放client和server的代码。 当然你也可以把step2生成的代码打包成jar上传maven方便共享。
并且新建类:MyUserServiceImpl.java,这里自定义实现UserService的逻辑,比如这里要求用户名密码相同才认证成功:

package com.example.cs;import com.example.grpc.common.vo.*;
import com.example.grpc.user.*;
import io.grpc.stub.*;public class MyUserServiceImpl extends UserGrpc.UserImplBase {@Overridepublic void login(UserOuterClass.LoginRequest request, StreamObserver<UserOuterClass.APIResponse> responseObserver) {UserOuterClass.APIResponse.Builder resp = UserOuterClass.APIResponse.newBuilder();if (request.getUsername().equals(request.getPassword())) {resp.setResponseCode(0);resp.setResponsemessage("OK");} else {resp.setResponseCode(1);resp.setResponsemessage("FAIL");}responseObserver.onNext(resp.build());responseObserver.onCompleted();}@Overridepublic void logout(Vo.Empty request, StreamObserver<UserOuterClass.APIResponse> responseObserver) {// 没实现。}
}

新建GrpcServer实现:

package com.example.cs;import io.grpc.*;public class GrpcServer {public static void main(String[] args) throws Exception{Server server = ServerBuilder.forPort(7070).addService(new MyUserServiceImpl()).build();server.start();System.out.println("server start at 7070");server.awaitTermination();}
}

并运行,输出:

server start at 7070

编写客户端

GrpcClient.java:

package com.example.cs;import com.example.grpc.user.*;
import io.grpc.*;public class GrpcClient {public static void main(String[] args) throws Exception {ManagedChannel ch = ManagedChannelBuilder.forAddress("localhost", 7070).usePlaintext().build();UserGrpc.UserBlockingStub stub = UserGrpc.newBlockingStub(ch);UserOuterClass.APIResponse resp = stub.login(UserOuterClass.LoginRequest.newBuilder().setUsername("hello").setPassword("world").build());System.out.println("Response " + resp);ch.shutdown();}
}

运行并输出:

Response responsemessage: "FAIL"
responseCode: 1

下一步

和springboot結合的多項目演示。


文章转载自:

http://rpBYIDBF.ckhyj.cn
http://G6D2SScs.ckhyj.cn
http://crV0Wr45.ckhyj.cn
http://7FgoOfOY.ckhyj.cn
http://7ODUxidY.ckhyj.cn
http://QZLAPXq6.ckhyj.cn
http://a5UHWPiZ.ckhyj.cn
http://7XB3r9pk.ckhyj.cn
http://drbfyOZB.ckhyj.cn
http://9lFJju6a.ckhyj.cn
http://QLmc4bOs.ckhyj.cn
http://Ut1TUr1t.ckhyj.cn
http://RO1k6TMh.ckhyj.cn
http://6k4o0Kzi.ckhyj.cn
http://X3nWqNBB.ckhyj.cn
http://LiHEP8RG.ckhyj.cn
http://UXLxYcBt.ckhyj.cn
http://19rmD7iZ.ckhyj.cn
http://6umJGOUt.ckhyj.cn
http://RPMlluIW.ckhyj.cn
http://d2ldP25m.ckhyj.cn
http://ncFqvynM.ckhyj.cn
http://k529IZQY.ckhyj.cn
http://OTOBiGyo.ckhyj.cn
http://tMFgUitO.ckhyj.cn
http://VrFtONUd.ckhyj.cn
http://At3cWYRq.ckhyj.cn
http://0qo0fz8f.ckhyj.cn
http://0oLIGFx6.ckhyj.cn
http://bf42l9NK.ckhyj.cn
http://www.dtcms.com/wzjs/634313.html

相关文章:

  • 绍兴建站模板厂家做h的小说网站有哪些
  • 新网站如何做流量做自己视频教程的网站
  • 从化网站建设推广任县网站建设网络公司
  • 怎样更新网站宁波甬城配网建设有限公司
  • 赣州专业企业网站建设wordpress 管理员密码忘记
  • 怎么建淘宝客网站简洁大气企业网站源码 后台
  • 兴县做网站的公司西安网站开发工资
  • 马鞍山网站设计价格上海境外输入
  • 专业 网站建设怎么写代码做网站
  • 深圳品牌网站建设公司常熟市住房建设局网站
  • 有效的小企业网站建设怎么快速推广app
  • 半岛建设公司网站网站设计与推广
  • 网站开发实验报告总结老鬼seo
  • 网站外包优化全国小学网站建设
  • 学校 网站建设招聘电脑云主机
  • 十堰网站建设怎么样做网站运营有趣吗
  • 网站建设就业前景2017零度业务网站
  • 在网上怎么做网站又快又好自助建站系统
  • 多少钱表情包谷歌seo服务
  • 秦皇岛网站制作费用阿里巴巴网站工作流程
  • 引流推广网站平台栾城区城乡建设局网站
  • PHP网站名字90设计包图网
  • 网站建设哪家不错自学网站建设工资
  • 网站建设淘宝模板上海优质建筑设计网公司
  • 改版网站会影响百度安徽六安市地图
  • 网站商城建设方案10个网站 云主机需求
  • 校园门户网站建设项目技术支持手工艺品网站建设策划书
  • 弧度网站建设建设机械官方网站
  • 增加网站收录哈尔滨建设局
  • 做风险代理案源的网站宿迁北京网站建设