我正在运行一个 GRPC 服务器(服务器 A),侦听特定端口。我希望能够向另一台服务器(服务器 B)发送通信,并让服务器 B 记录服务器 A 连接的传入地址,以便稍后可以联系服务器 A。
在服务器 A 上,我监听端口并创建如下上下文:
lis, err := net.Listen("tcp", "0.0.0.0:6000")
ctx, cancel := context.WithTimeout(context.Background(),
10000*time.Millisecond)
然后像这样创建连接:
connection, err = grpc.DialContext(ctx, server2Address,
grpc.WithInsecure(), grpc.WithBlock())
在最终向服务器 B 上的端点发送消息之前,该端点尝试读取服务器 A 传入连接的 IP 地址
info, _ := peer.FromContext(ctx)
fmt.Printf(info.Addr.String()) // Returns a random port, NOT 6000,
然而,服务器 B 打印的结果端口是随机的,例如 62056,而不是预期的 6000。我的假设是,在服务器 A 上,GRPC 从随机端口拨号 - 是否可以强制 GRPC 从端口 6000 而不是随机端口拨号?
HUX布斯
相关分类