当前位置: 首页 > 知识库问答 >
问题:

为golang运行GRPC示例

索卓
2023-03-14

这里的新手。

目前正在学习grpc的工作原理,并正在通过此链接中的教程
https://grpc.io/docs/quickstart/go.html#update-and-run-the-application

当我使用helloworld运行这个示例时。PB去提供的文件,就行了。但当我删除了那个文件并运行了protoc--go_out=plugins=grpc:.*时。proto要再次生成该文件,我发现我无法再运行迎宾服务器

我得到的错误是

google.golang.org/grpc/examples/helloworld/helloworldhelloworld/helloworld.pb.go:105: 11:不能使用_Greeter_SayHello_Handler(类型func(接口{},"上下文". Context, grpc. Codec,[]byte)(接口{},错误))作为字段值中类型grpc.methodHandler

试图用谷歌搜索,但找不到原因。我的protobuf版本是3.5.1,grpc是从github新克隆的。com/golang/protobuf/protoc gen go

共有1个答案

澹台庆
2023-03-14

像这样生成proto

file_name:您的原始文件名与路径

//To generate the grpc code 
protoc proto/file_name.proto --go_out=plugins=grpc:.

看看这个链接如何编写proto并生成proto文件。这可能有助于解决你的问题

https://github.com/SXerox007/protos-

 类似资料:
  • 我正在尝试实现简单的grpc服务器和客户端模型,只使用服务器端流的方法。我正在参考Official repo中的路线指南示例。尝试运行时,我从服务器端收到此错误 这是客户端的 服务器去 一些原型文件 我正在研究堆栈溢出中关于零指针错误的几个问题,我发现这段代码是罪魁祸首 我不知道如何解决这个问题,我怀疑我实施它的方式是错误的。任何帮助都将是巨大的。谢谢

  • 问题内容: 当我运行Node HTTP服务器应用程序时,通常会调用自定义函数 从 因此服务器实际上以用户身份运行,以提供更好的安全性。通过发出启动Golang Web服务器时,我可以做些类似的事情吗? 问题答案: 扩展@ JimB 的答案: 使用流程主管以特定用户的身份运行您的应用程序(并处理重新启动/崩溃,日志重定向等)。对于多线程应用程序来说,这通常是个坏主意。 使用操作系统的进程管理器(Up

  • 问题内容: 我想将golang应用程序中的perl用于正则表达式。如何运行perl文件并在两个进程之间进行通信?我已经尝试过该程序包,但是它给了我一个指针作为最终值。 问题答案: 我不认为仅使用正则表达式不是一个好主意。但是,如果您绝对需要。通过命令运行它,然后从和读取它。为了提供输入,您可以使用。 您获得指针的原因可能是因为您没有运行命令。那是你如何努力 ,也需要运行

  • 问题内容: 关于延期,Effective Go 声明以下内容: 延迟函数(如果函数是方法,则包括接收方)的参数在 延迟 执行时而不是在 调用 执行时进行评估。除了避免担心函数执行时变量会更改值外,这还意味着单个延迟的调用站点可以延迟多个函数的执行。这是一个愚蠢的例子。 延迟函数以LIFO顺序执行,因此该函数返回时将导致打印此代码。 这个例子使我感到困惑。如果在执行defer调用时评估了参数,则应该

  • 您可以在Pivotal Web Services中找到部署的运行示例。在以下链接中查看它们: Zipkin表示样品中的应用程序到顶部 Zipkin为啤酒厂在PWS,其Github代码

  • 问题内容: 是否可以每天中午执行代码?该程序将在其余的运行时间中处理用户输入,但需要在中午运行一个函数以输出一些文本。最有效的方法是什么? 问题答案: 因此,您需要间隔计时器每天每天中午运行一项功能,您可以使用: 或或或 首先,在程序启动时,计算直到下一个正午的启动时间间隔,并使用一些等待(例如或…),然后在下一个间隔中使用 间隔。 示例代码使用: 并且您可以将main更改为此(或您需要的任何内容