Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
Java &引用;“不可用”;从android客户端到python服务器的gRPC故障_Java_Android_Python_Protocol Buffers_Grpc - Fatal编程技术网

Java &引用;“不可用”;从android客户端到python服务器的gRPC故障

Java &引用;“不可用”;从android客户端到python服务器的gRPC故障,java,android,python,protocol-buffers,grpc,Java,Android,Python,Protocol Buffers,Grpc,当我试图对运行在我机器上(在同一网络上)的python RPC服务器进行RPC调用时,我整天都在为Android上的gRPC的以下问题而挣扎 我的android gRPC android客户端编译并运行,但是,我在客户端上收到以下错误消息(在python服务器上保持沉默): 完整堆栈跟踪读取: 05-06 18:39:01.133 5018-5302/com.example.android.cimi I/SyncAdapter: Failed... : io.grpc.StatusRuntim

当我试图对运行在我机器上(在同一网络上)的python RPC服务器进行RPC调用时,我整天都在为Android上的gRPC的以下问题而挣扎

我的android gRPC android客户端编译并运行,但是,我在客户端上收到以下错误消息(在python服务器上保持沉默):

完整堆栈跟踪读取:

05-06 18:39:01.133 5018-5302/com.example.android.cimi I/SyncAdapter: Failed... : 
io.grpc.StatusRuntimeException: UNAVAILABLE
at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:227)
at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:208)
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:141)
at com.example.android.cimi.CimiSyncerGrpc$CimiSyncerBlockingStub.getHouseholdTimestamps(CimiSyncerGrpc.java:209)
at com.example.android.cimi.SyncAdapter.onPerformSync(SyncAdapter.java:130)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
Caused by: java.io.IOException: PROTOCOL_ERROR invalid settings id: -509
at io.grpc.okhttp.internal.framed.Http2.ioException(Http2.java:589)
at io.grpc.okhttp.internal.framed.Http2.access$200(Http2.java:47)
at io.grpc.okhttp.internal.framed.Http2$Reader.readSettings(Http2.java:304)
at io.grpc.okhttp.internal.framed.Http2$Reader.nextFrame(Http2.java:162)
at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:868)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
05-06 18:39:01.139 5018-5018/com.example.android.cimi I/SyncService: Service destroyed                                                                         
当关闭服务器时,我得到一个不同的错误,所以一定是发生了其他事情

我正在使用以下版本: io.grpc:protoc gen grpc java:1.3.0 protobuf:protoc:3.0.0

我尝试过的事情:

  • 降级至grpc 1.0.0
  • 降级Android studio
  • 尝试了Python2和Python3
  • 从python客户端进行连接很有效 我还能如何调试这个?有没有办法获得更有意义的异常?有没有办法使服务器更加冗长


    任何帮助都将不胜感激

    我已经通过确认调用在使用Java服务器时有效,将其缩小为python gRPC服务器的问题

    事实证明,它一定与最近的gRPC/protobuf python软件包有关(刚刚通过pip安装安装,一定抓到了最新的软件包):

    以下用于降级gRPC安装的命令序列解决了该问题:

    cd /usr/lib/python2.7/site-packages
    rm -rf packaging* 
    rm -rf pyparsing*
    pip2 install protobuf==3.0.0
    pip2 install grpcio==1.0.0
    pip2 install grpcio-tools==1.0.0
    

    真烦人!请在中提交一个问题,尽可能详细地说明您在使用gRPC Python时遇到的问题。protobuf==3.0.0,grpcio==1.0.4,grpcio tools==1.0.4(Python)和1.0.3(Java)-适用于meLooks,就像这里报告的问题一样:(注意,与报告的情况相反,我在opensuse linux上运行Python服务器)。
    cd /usr/lib/python2.7/site-packages
    rm -rf packaging* 
    rm -rf pyparsing*
    pip2 install protobuf==3.0.0
    pip2 install grpcio==1.0.0
    pip2 install grpcio-tools==1.0.0