Http 为gRPC服务器设置端口
据我所知,gRPC的协议是TCP之上的http2。因此,可以分配的最大端口是65535,对吗?但是,如果我将服务器地址设置为“0.0.0.0:70040”之类的超出范围,它仍然可以正常工作,并且gRPC客户端能够与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()); 我怀疑问题在于,对端点地址使用字符串限制了
builder.AddListeningPort("0.0.0.0:70040", grpc::InsecureServerCredentials());
我怀疑问题在于,对端点地址使用字符串限制了编译器验证无符号16位端口地址的能力
70040
根据我清晨的计算是1000110011000
,它是17位。端口必须为16位,因此其中一位将被丢弃,可能是最重要的一位(1)
去掉它,会产生1000110011000
,它对应于4504
,很可能是正在使用的实际端口
您可以尝试在70040
上运行服务器,并使用4504
从客户端连接到服务器