2017-08-03 31 views
0

運行greeter_client.rb後,它給下面的異常GRPC greeter_client不工作

ruby greeter_client.rb 
/Users/yashoda/.rvm/gems/[email protected]/gems/grpc-1.4.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:46:in `check_status': 12: (GRPC::Unimplemented) 
    from /Users/yashoda/.rvm/gems/[email protected]/gems/grpc-1.4.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:178:in `attach_status_results_and_complete_call' 
    from /Users/yashoda/.rvm/gems/[email protected]/gems/grpc-1.4.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:340:in `request_response' 
    from /Users/yashoda/.rvm/gems/[email protected]/gems/grpc-1.4.1-universal-darwin/src/ruby/lib/grpc/generic/client_stub.rb:167:in `request_response' 
    from /Users/yashoda/.rvm/gems/[email protected]/gems/grpc-1.4.1-universal-darwin/src/ruby/lib/grpc/generic/service.rb:185:in `block (3 levels) in rpc_stub_class' 
    from greeter_client.rb:46:in `main' 
    from greeter_client.rb:50:in `<main>' 

回答

0

我無法重現你看到這裏。

一個猜測是,可能有另一個grpc服務器在你的端口「50051」上運行(greeter_server.rb啓動)。

默認情況下,grpc服務器使用SO_REUSEPORT選項綁定端口,所以會出現這種情況。如果需要,可以通過構建服務器來禁用SO_REUSEPORT:

s = GRPC::RpcServer.new(server_args: { 'grpc.so_reuseport' => 0 })