iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >获取 RPC 描述符失败
  • 956
分享到

获取 RPC 描述符失败

网络问题 2024-02-08 21:02:59 956人浏览 独家记忆
摘要

PHP小编草莓今天为大家介绍一个常见问题:在进行远程过程调用(rpc)时,可能会遇到“获取 RPC 描述符失败”的错误。这个错误通常意味着客户端无法与服务器建立有效的连接,可能是由于网

PHP小编草莓今天为大家介绍一个常见问题:在进行远程过程调用(rpc)时,可能会遇到“获取 RPC 描述符失败”的错误。这个错误通常意味着客户端无法与服务器建立有效的连接,可能是由于网络问题、服务端配置错误或者权限问题所导致。在本文中,我们将详细解释这个错误的原因,并提供一些解决方案来解决这个问题。无论您是初学者还是有经验的开发人员,都将从本文中获得有关解决“获取 RPC 描述符失败”错误的有用信息。

问题内容

我有以下原型文件:

service_myservice.proto

service MyService {
    rpc GetData(GetRequest) returns (GetResponse) {}
}

服务器.Go

type Server struct {
    pb.UnimplementedMyServiceServer
    config util.Config
}

// NewServer creates a new grpc server.
func NewServer(config util.Config) (*Server, error) {
    server := &Server{
        config: config,
    }

    return server, nil
}

然后在主包中我调用这个函数

func runGrpcServer(config util.Config) {
    server, err := gapi.NewServer(config)
    if err != nil {
        log.Fatal().Err(err).Msg("cannot create server")
    }

    grpcLogger := grpc.UnaryInterceptor(gapi.GrpcLogger)
    grpcServer := grpc.NewServer(grpcLogger)
    pb.ReGISterMyServiceServer(grpcServer, server)
    reflection.Register(grpcServer)

    listener, err := net.Listen("tcp", config.GRPCServerAddress)
    if err != nil {
        log.Fatal().Err(err).Msg("cannot create listener")
    }

    log.Info().Msgf("start gRPC server at %s", listener.Addr().String())
    err = grpcServer.Serve(listener)
    if err != nil {
        log.Fatal().Err(err).Msg("cannot start gRPC server")
    }
}

我正在使用 evans (https://GitHub.com/ktr0731/evans) 来测试我的 grpc 调用。 我的 gRPC 服务器正在运行,我可以使用 evans 连接到特定端口 (9090) 上的本地主机。

但是,当我在埃文斯中调用 show service 时,我得到以下响应:

localhost:9090> show service
+---------+-----+--------------+---------------+
| SERVICE | RPC | REQUEST TYPE | RESPONSE TYPE |
+---------+-----+--------------+---------------+
+---------+-----+--------------+---------------+
localhost:9090> call GetData
command call: failed to get the RPC descriptor for: GetData: service unselected

我认为如果我在 Server 结构中添加 pb.UnimplementedMyServiceServer ,那么这是向前兼容的。但显然,我缺少一些代码。

为了使 MyService 向前兼容,缺少什么部分?

解决方法

REPL模式下使用evans时,调用show service前应选择包,调用call GetData前应选择服务。

localhost:9090> show package
+-------------------------+
|         PACKAGE         |
+-------------------------+
| example                 |
| grpc.reflection.v1      |
| grpc.reflection.v1alpha |
+-------------------------+

localhost:9090> package example

example@localhost:9090> show service
+-----------+---------+--------------+---------------+
|  SERVICE  |   RPC   | REQUEST TYPE | RESPONSE TYPE |
+-----------+---------+--------------+---------------+
| MyService | GetData | GetRequest   | GetResponse   |
+-----------+---------+--------------+---------------+

example@localhost:9090> service MyService

example.MyService@localhost:9090> call GetData
id (TYPE_INT32) => 1

以上就是获取 RPC 描述符失败的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 获取 RPC 描述符失败

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

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

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

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

下载Word文档
猜你喜欢
  • 获取 RPC 描述符失败
    php小编草莓今天为大家介绍一个常见问题:在进行远程过程调用(RPC)时,可能会遇到“获取 RPC 描述符失败”的错误。这个错误通常意味着客户端无法与服务器建立有效的连接,可能是由于网...
    99+
    2024-02-08
    网络问题
  • usb设备描述符请求失败的解决方法
    小编给大家分享一下usb设备描述符请求失败的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!解决方法:首先按下键盘上的“win+r”组合键打开“运行”对话框...
    99+
    2023-06-15
  • Linux下如何利用文件描述符恢复的成功失败实验
    这篇文章将为大家详细讲解有关Linux下如何利用文件描述符恢复的成功失败实验,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据误删除是作为初级运维人员常常遇到的“低级错误...
    99+
    2024-04-02
  • jmap执行失败怎么获取heapdump
    本文小编为大家详细介绍“jmap执行失败怎么获取heapdump”,内容详细,步骤清晰,细节处理妥当,希望这篇“jmap执行失败怎么获取heapdump”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。正文在之前的O...
    99+
    2023-07-06
  • jmap执行失败如何获取heapdump详解
    目录正文使用jmap -F使用gcore使用Linux内核的coredump机制正文 在之前的OOM问题复盘中,我们添加了jmap脚本来自动dump内存现场,方便排查OOM问题。...
    99+
    2023-05-16
    jmap获取heapdump jmap执行失败
  • 动态域名获取失败怎么解决
    如果您的动态域名获取失败,可以尝试以下方法:1. 检查网络连接是否正常,确保您的设备已连接到互联网。2. 检查动态域名的配置是否正确...
    99+
    2023-06-11
    动态域名 域名
  • php获取数据库内容失败怎么办
    PHP 是一门广泛应用于 Web 开发的编程语言,经常用来动态生成 HTML 页面或者处理 Web 服务器上的数据。在很多 Web 应用中,使用数据库是非常常见的,因为数据是被存储在数据库中的,所以在开发过程中需要使用 PHP 代码获取数据...
    99+
    2023-05-14
  • pgsql获取当前时间失败怎么解决
    如果在 pgsql 中获取当前时间失败,可能有几种可能的原因和解决方法: 时区设置错误:在 pgsql 中获取当前时间时,会受到...
    99+
    2024-04-09
    pgsql
  • 小程序如何获取用户信息失败
    这篇文章主要介绍小程序如何获取用户信息失败,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  在使用小程序时,很多人会不授权导致授权失败场景,但是小程序第二次不在启动授权信息弹层,遇到这种情况,为了用户体验我们需要这样...
    99+
    2023-06-26
  • 小程序使用getUserInfo获取用户信息失败
    1.使用getUserInfo wx.getUserInfo({ success: (res) => { console.log(res); this.setD...
    99+
    2023-09-05
    小程序 javascript 学习
  • 获取云服务器数据失败如何解决
    要解决云服务器数据获取失败的问题,可以按照以下步骤进行尝试:1. 检查网络连接:确保云服务器与网络连接正常,可以尝试通过其他设备或网...
    99+
    2023-08-29
    云服务器
  • c++获取命令行参数失败怎么解决
    C++获取命令行参数失败的原因可能有很多种,下面列举几种常见的解决方案:1. 检查代码:确保你的代码正确获取命令行参数。你可以使用a...
    99+
    2023-09-23
    c++
  • 服务器动态域名获取失败怎么解决
    以下是一些可能的解决方法:1. 检查网络连接是否正常。如果网络连接不稳定或断开,可能导致动态域名获取失败。尝试重新连接网络或更换网络...
    99+
    2023-06-06
    动态域名 域名
  • 完美解决Jpush[获取sdk版本失败!]的问题
    错误日志如下:5-31 12:47:40.088 23896-23896/? E/JIGUANG-JCore: [JCoreGlobal] Get sdk version fail![获取sdk版本失败!]05-31 12:47:4...
    99+
    2023-05-31
    获取 sdk版本 失败
  • springboot打成jar后获取classpath下文件失败怎么办
    这篇文章主要为大家展示了“springboot打成jar后获取classpath下文件失败怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“springboot打成jar后获取classpat...
    99+
    2023-06-20
  • 怎么解决获取VirtualBox COM对象失败错误问题
    这篇文章主要介绍“怎么解决获取VirtualBox COM对象失败错误问题”,在日常操作中,相信很多人在怎么解决获取VirtualBox COM对象失败错误问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎...
    99+
    2023-06-22
  • springboot打成jar后获取classpath下文件失败的解决方案
    springboot打成jar后获取classpath下文件 代码如下: ClassPathResource resource = new ClassPathResource("...
    99+
    2024-04-02
  • IIS安装SSL证书后,PHP数据获取失败的解决方案
    在进行IIS安装SSL证书后,有时候会出现PHP数据获取失败的情况,这可能会给网站的正常运行带来困扰。本文将探讨这一问题的解决方案,并提供具体的代码示例,以帮助读者解决这一常见的技术难...
    99+
    2024-03-11
    php ssl iis
  • 安卓监听WebView加载失败以及获取WebView异常的errorCode和errorMessage
    在使用WebView中,我们不可避免的会接触到WebView加载失败的异常处理的需求,这时候,需要我们监听失败的方法也就是onReceivedError方法:   public class CustomWebViewClient ext...
    99+
    2023-10-03
    android
  • 阿里云服务器root权限获取失败的原因及解决方法
    在使用阿里云服务器时,我们可能遇到root权限获取失败的问题,这可能是由于多种原因造成的。本文将详细介绍这个问题的原因,并提供相应的解决方法。 一、问题原因输入错误:在输入root密码时,如果输入错误,可能会导致root权限获取失败。操作系...
    99+
    2023-11-15
    阿里 解决方法 权限
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作