Http 为gRPC服务器设置端口

Http 为gRPC服务器设置端口,http,tcp,grpc,http2,Http,Tcp,Grpc,Http2,据我所知,gRPC的协议是TCP之上的http2。因此,可以分配的最大端口是65535,对吗?但是,如果我将服务器地址设置为“0.0.0.0:70040”之类的超出范围,它仍然可以正常工作,并且gRPC客户端能够与gRPC服务器连接和通信。我可以知道这到底是什么意思吗?多谢各位 builder.AddListeningPort("0.0.0.0:70040", grpc::InsecureServerCredentials()); 我怀疑问题在于,对端点地址使用字符串限制了

据我所知,gRPC的协议是TCP之上的http2。因此,可以分配的最大端口是65535,对吗?但是,如果我将服务器地址设置为“0.0.0.0:70040”之类的超出范围,它仍然可以正常工作,并且gRPC客户端能够与gRPC服务器连接和通信。我可以知道这到底是什么意思吗?多谢各位

builder.AddListeningPort("0.0.0.0:70040", grpc::InsecureServerCredentials());

我怀疑问题在于,对端点地址使用字符串限制了编译器验证无符号16位端口地址的能力

70040
根据我清晨的计算是
1000110011000
,它是17位。端口必须为16位,因此其中一位将被丢弃,可能是最重要的一位(1)

去掉它,会产生
1000110011000
,它对应于
4504
,很可能是正在使用的实际端口

您可以尝试在
70040
上运行服务器,并使用
4504
从客户端连接到服务器