草庐IT

X-Forwarded-Proto

全部标签

go - 无法导入 proto 文件

我花了几个小时试图阅读有关如何在Golang中使用简单原型(prototype)文件的博客。我生成了.pb.go文件。所有Internet示例都充斥着从一些随机的"github...url进行导入以进行原型(prototype)导入。我找不到任何关于如何导入一个简单的原型(prototype)文件的示例,该文件与我的.go文件或diff目录。如何使用本地文件系统中的proto文件。gobuildhello.gohello.go:5:2:cannotfindpackage"customer"inanyof:/usr/local/go/src/customer(from$GOROOT)/U

go - 生成 Golang grpc + 自定义 proto 对象

我正在尝试生成一个返回自定义原型(prototype)对象的gRPC客户端。这是我当前的原型(prototype)命令protoc-I.:../--go_out=plugins=grpc:Muser/messages.proto=github.com/.../.../user:.消息.proto这是错误Muser/messages.proto=github.com/.../.../user:./:没有那个文件或目录但是这个命令:协议(protocol)-I.:../--go_out=Muser/messages.proto=github.com/.../.../user:.消息.pro

c++ - 无法在 gRPC 中使用 proto 3.0 缓冲区生成客户端代码

我正在尝试在gRPC中生成客户端和服务器代码。我已经从github安装了grpc目录并尝试生成C++代码。我安装了原型(prototype)编译器3.0.0。当我执行协议(protocol)时,出现以下错误$protoc-I../../protos/--grpc_out=.--plugin=protoc-gen-grpc=grpc_cpp_plugin../../protos/helloworld.protogrpc_cpp_plugin:programnotfoundorisnotexecutable--grpc_out:protoc-gen-grpc:Pluginfailedwit

go - 在 proto3 文件中为 Golang 和 C# 使用 IP 字段(IPV4 或 IPV6)的更好方法是什么

我想在proto3消息中使用IP字段。我应该使用proto3中的哪种类型来表示相同的内容。该字段将由Golang和C#实现使用。我应该使用字符串吗?或IPV4的fixed32和IPV6的字节数?messagexyz{stringip_addr=1;}或messagexyz{oneofip_addr{fixed32v4=1;bytesv6=2;}如果是第二个,那么在Golang实现中如何编码呢?例如,我应该先构造一个具有有效IP地址的字符串,然后将其转换为fixed32格式还是如何? 最佳答案 如果您在这里没有性能限制,我会使用字符串

go - 在 proto 消息中声明一个字段标签

我刚刚开始使用protobuf进行Go编程,现在我需要验证结构中的数据。我找到了govalidator,这似乎完美地满足了我的需要。它确实根据字段标签验证结构,比如typeContactstruct{firstNamestring`valid:"alpha,required"`lastNamestring`valid:"alpha,required"`emailstring`valid:"email,required"`}jdoe:=&Contact{firstName:"John",lastName:"Doe",email:"jdoe@mail.com"}ok,err=govalid

go - 混淆从 proto 文件创建 swagger.json 文件

我已经为我打算生成的REST网络服务创建了一个包含所有必要消息和rpc函数的原型(prototype)文件。使用protoc-gen-swagger插件,我设法将该proto文件编译成swagger.json文件,一切看起来都很好,除了两件事,我似乎无法解决。swagger.json文件中的所有定义都以我的原型(prototype)文件包的名称为前缀。有办法摆脱这个吗?我消息的所有字段都是“可选的”。它们没有明确指定,但也没有指定为“必需”,根据定义,它们是可选的。Proto3不再支持必需/可选/重复,但即使我使用Proto2并添加这些关键字,它似乎也不会影响swagger.json输

go - 文件不在使用 proto_path 指定的任何路径中

我正在测试从另一个目录导入.proto文件。$GOPATH/src/A/A.protosyntax="proto3";packageA;messageSomeMsg{stringmsg=2;int64id=3;}$GOPATH/src/B/B.protosyntax="proto3";packageB;import"A/A.proto";messageMsg{SomeMsgs=1;}我这样做:在文件夹A中:protocA.proto--go_out=.然后在文件夹B中:protocB.proto--go_out=.--proto_path=$GOPATH/但是我会得到这个错误:B.pr

json - "google/protobuf/struct.proto"是通过 GRPC 发送动态 JSON 的最佳方式吗?

我写了一个简单的GRPC服务器和一个调用服务器的客户端(都在Go中)。请告诉我使用golang/protobuf/struct是否是使用GRPC发送动态JSON的最佳方式。在下面的示例中,我之前将Details创建为map[string]interface{}并将其序列化。然后我将它作为bytes在protoMessage中发送,并在服务器端反序列化消息。这是最好/最有效的方法还是我应该在我的原型(prototype)文件中将Details定义为一个结构?下面是User.proto文件syntax="proto3";packagemessages;import"google/proto

go - 未定义 : proto. ProtoPackageIsVersion3

我得到:../.../...pb.go:21:11:undefined:proto.ProtoPackageIsVersion3我想要版本2我从https://github.com/google/protobuf/releases$protoc--version安装了protoc给出了libprotoc3.6.0。我还从apt安装了golang-goprotobuf-dev。问题:protoc(protobuffer编译器总是编译到Proto3版本?)需要什么额外的支持?如何获得可以编译为Proto2的编译器?我注意到在一个系统中libproto3.6.1编译为proto2,我不明白这

php - Nginx 用 X-Forwarded-For 替换 REMOTE_ADDR

我对Nginx很陌生,看起来很困惑。我的服务器设置完美,但问题是,因为我的服务器使用HTTP代理进行保护;它不是记录真实用户的IP,而是记录代理服务器的IP。我尝试做的是将$_SERVER['REMOTE_ADDR'];设置为$_SERVER['X-Forwarded-For'];但我得到了一个undefinedindex错误,所以我猜我必须在Nginx中定义X-Forwarded-For?但我不知道该怎么做,我有一个简单的设置,它只是带有PHP的Nginx。仅此而已。找遍了全网,实在找不到一些好理解的资料。如果有帮助的话,我可以访问源代码。我尝试了很多解决方案,但无济于事。