我设置了一系列 gRPC 请求和响应,它们都可以正常工作,但是当我尝试获取客户端 IP 地址和调用我的 gRPC API 的用户代理时,我卡住了。
我阅读了 Go gRPC 文档和其他来源,但没有找到太多有价值的信息。他们中很少有人谈论 Golang 中的 gRPC。
在设置 gRPC API 时,我应该设置一个键值来在上下文中存储 IP 地址吗?
小智 16
在 Golang GRPC 中,您可以使用
func (UserServicesServer) Login(ctx context.Context, request *sso.LoginRequest) (*sso.LoginResponse, error) {
p, _ := peer.FromContext(ctx)
request.Frontendip = p.Addr.String()
.
.
}
Run Code Online (Sandbox Code Playgroud)
但是,不要忘记导入 "google.golang.org/grpc/peer"
| 归档时间: |
|
| 查看次数: |
6139 次 |
| 最近记录: |