Sockets 使用套接字Java NIO连接到gRPC服务器,但服务器没有响应
我的gRPC Java客户端使用套接字连接到服务器Java NIO,NIO将请求的客户端传输到服务器gRPC,但服务器没有响应 我的客户gRPC代码:Sockets 使用套接字Java NIO连接到gRPC服务器,但服务器没有响应,sockets,nio,grpc,grpc-java,Sockets,Nio,Grpc,Grpc Java,我的gRPC Java客户端使用套接字连接到服务器Java NIO,NIO将请求的客户端传输到服务器gRPC,但服务器没有响应 我的客户gRPC代码: private final ManagedChannel channel; private final MyServiceProviderGrpc.MyServiceProviderBlockingStub blockingStub; private final MyServiceProvid
private final ManagedChannel channel;
private final MyServiceProviderGrpc.MyServiceProviderBlockingStub blockingStub;
private final MyServiceProviderGrpc.MyServiceProviderStub asyncStub;
public ClientGrpc(String host, int port)
{
this(ManagedChannelBuilder.forAddress(host, port).usePlaintext(true));
}
ClientGrpc(ManagedChannelBuilder<?> channelBuilder)
{
channel = channelBuilder.build();
blockingStub = MyServiceProviderGrpc.newBlockingStub(channel);
asyncStub = MyServiceProviderGrpc.newStub(channel); }
public void greet(String name) {
logger.info("Will try to greet " + name + " ...");
TemperatureRequest request = TemperatureRequest.newBuilder().setQuestion(name).build();
TemperatureResponse response;
try
{
response = blockingStub.getTemperature(request);
} catch (StatusRuntimeException e)
{
logger.info("RPC failed: {0}"+ e.getStatus());
return;
}
logger.info("Greeting: " + response.getAnswer()); }
ClientGrpc clients = new ClientGrpc("localhost",4321);
clients.greet("bap");
专用最终管理频道;
私有最终MyServiceProviderGrpc.MyServiceProviderBlockingStub blockingStub;
私有最终MyServiceProviderGrpc.MyServiceProviderStub异步存根;
公共客户端GRPC(字符串主机,int端口)
{
这(managedChannel Builder.forAddress(host,port).usePlaintext(true));
}
客户端GRPC(ManagedChannel Builder Channel Builder)
{
channel=channelBuilder.build();
blockingStub=MyServiceProviderGrpc.newBlockingStub(通道);
asyncStub=MyServiceProviderGrpc.newStub(频道);}
公共名称(字符串名称){
logger.info(“将尝试问候“+name+”);
TemperatureRequest请求=TemperatureRequest.newBuilder().setQuestion(name.build();
温度反应;
尝试
{
响应=阻塞桶获取温度(请求);
}捕获(状态RuntimeException e)
{
info(“RPC失败:{0}”+e.getStatus());
返回;
}
logger.info(“问候语:+response.getAnswer());}
ClientGrpc clients=newclientgrpc(“localhost”,4321);
客户。问候(“bap”);
我在NIO中得到一个信息:
PRI*HTTP/2.0
山猫
您是否也在服务器上使用gRPC?看起来你连接的服务器(或代理)不支持HTT2YES,我的服务器使用GRPC C++。谢谢你的回答,我的问题解决了。套接字NIO从gRPC客户端传输了错误的字节。