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

做教程网站资源放哪里有建网站要多少费用

做教程网站资源放哪里有,建网站要多少费用,实时开奖走势网站建设,网站后缀pw1 Overview 此章节是对第三章的一个补充。同样属于RPC的篇章。是专门为了类似游戏服务这种需要指定RPC服务端具体地址,也就是具体是哪台机器的某应用进程,通信的方式。笔者简单的封装了下保证基本的服务稳定,且具备服务发现的属性即可&#…

1 Overview

此章节是对第三章的一个补充。同样属于RPC的篇章。是专门为了类似游戏服务这种需要指定RPC服务端具体地址,也就是具体是哪台机器的某应用进程,通信的方式。笔者简单的封装了下保证基本的服务稳定,且具备服务发现的属性即可,因此也仅仅对GRPC的客户端进行一次壳子的封装。

2 客户端初始化

外表看着几乎与03章节的 客户端初始化代码基本一致;

GRPC的初始化类名不同变为了NewGameGrpcCluster 而已;

这里没表现出来的,就是绑定Proto接口的方式发生了变化;

    etcd.NewWithOption(option.OptionWith(nil).Default(option.OptionFunc(func() (string, any) {return "Endpoints", strings.Split(etcdAddr, ";")}),))client := cgrpc.NewGameGrpcCluster(option.OptionWith(&struct {PathName  stringNamespace string}{"server1", namespace}))//client.Start()// do your thingstestHandle(client)// just for testclient.Wait()// closeclient.Close()

3 调用Proto服务接口

为了方便后续调用,以及简化代码,我们在使用grpc.ClientConn 时的部分进行了一个函数封装。这与经常见过GRPC调用的方式是一样的。


func handleSay(clientConn grpc.ClientConnInterface) {c := helloworld.NewGreeterClient(clientConn)resp1, err := c.SayHello(context.Background(),&helloworld.HelloRequest{Name: fmt.Sprintf("xiaoming-%d", 9)},)if err != nil {log.Fatal("Say Hello error:%v", err)return}log.Info("SayHello Response:%s\n ", resp1.Message)}

4 指定GRPC服务的invoke

  • 关键点就是一个client.Handle;
  • 它的参数是一个匿名函数;
  • handle参数匿名函数 传递一个[]*cgrpc.GameGrpcConn的切片;
  • cgrpc.GameGrpcConn 是继承于grpc.ClientConn

func testHandle(client *cgrpc.GameRpcCluster) {ticker := time.NewTicker(time.Second)for {<-ticker.Cclient.Handle(func(gconns []*cgrpc.GameGrpcConn) {log.Info("clients conns %v", len(gconns))if len(gconns) == 0 {return}handleSay(gconns[0])})}
}

handle参数匿名函数拿到了grpc链接列表;致于如何获取某一个链接。就是路由的事情了,可以单独做一个小模块,与它结合起来。这里我们暂时没有做。

不过只要知道GameGrpcConn的另外一个参数你就很容易策略做这件事了。看看它的定义


type GameGrpcConn struct {*grpc.ClientConnInfo ServInfo
}type ServInfo struct {AddrToRpc    stringAddrToClient stringName         stringdata         any
}

知道了链接地址,和名字,怎么选择,可以随意开发策略,是随机,是按地址选择,按服务名选择也好。

需要知道用户在哪台游戏服的,或哪台聊天服的业务场景中,可以轻松实现。

http://www.yayakq.cn/news/691012/

相关文章:

  • 在线编程网站开发网站架构教程
  • 网站建设流程详解怎么用VS2012建设网站
  • 把别人的图片拿来做网站wordpress文章内容
  • 免费网站制作报价做网站实时数据用接口
  • 韩国风格网站php源码浮山网站建设
  • 潮汕学院网站开发电脑上做免费网站教程视频
  • 网站建设费用报告网络搭建与维护
  • 免费建站手机软件莒县网页定制
  • 自己搞个网站需要多少钱学校网站的英文
  • 外贸网站建设公司 迅当网wordpress旧版编辑器
  • 做网络课程的网站除了58还有什么信息发布平台
  • 网站想换一个空间怎么办WordPress协会主题模板
  • 网站建设模块下载宠物网站页面设计创意国外
  • 深圳建设网站哪里好php发布wordpress接口
  • 我想做网站腾讯云免费网站建设
  • 开发外贸产品的网站整合营销实施的技能包括
  • 龙华网站建设的基本步骤wordpress评论注册
  • 企业网站管理系统怎么用手机网站开发c
  • 如何在微信公众号内部做网站整合营销和链路营销
  • 网站建设属于什么中铁建设集团有限公司下属公司
  • 做电器的集团网站linux 中 wordpress
  • 官方app下载安装seo入门培训
  • 在建设一个公司网站多少钱网站建设所需资料
  • 在线旅游电商网站有哪些网页设计与制作毕业设计怎么写
  • redis网站开发教程wordpress重装空白
  • app和微网站的对比分析网站建设中的注册和登录页面
  • 做平面设计图的网站企业网站服务器租用
  • 制作网站的要素手工制作龙舟
  • 推广网站优化怎么做做画册的国外网站
  • 广州城市建设规划局网站国外商品网站