Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 使用套接字Java NIO连接到gRPC服务器,但服务器没有响应_Sockets_Nio_Grpc_Grpc Java - Fatal编程技术网

Sockets 使用套接字Java NIO连接到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

我的gRPC Java客户端使用套接字连接到服务器Java NIO,NIO将请求的客户端传输到服务器gRPC,但服务器没有响应

我的客户gRPC代码:

        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客户端传输了错误的字节。