4

私はこのようにzerorpc pythonクライアントを使用しようとしています:

import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")
print c.hello("RPC")

そして、開始時にこのエラーが発生します

Traceback (most recent call last):
  File "/Programming/python/snmp01/snmp01.py", line 34, in <module>
    print c.hello("RPC")
  File "/Library/Python/2.7/site-packages/zerorpc-0.4.3-py2.7.egg/zerorpc/core.py", line 256, in <lambda>
    return lambda *args, **kargs: self(method, *args, **kargs)
  File "/Library/Python/2.7/site-packages/zerorpc-0.4.3-py2.7.egg/zerorpc/core.py", line 241, in __call__
    return self._process_response(request_event, bufchan, timeout)
  File "/Library/Python/2.7/site-packages/zerorpc-0.4.3-py2.7.egg/zerorpc/core.py", line 225, in _process_response
    raise
zerorpc.exceptions.RemoteError: Error: Hello, RPC
    at Server._recv.result (//Programming/node/snmp01/node_modules/zerorpc/lib/server.js:146:55)

何か案が?

4

1 に答える 1

6

ドキュメントは現在間違っています。ノード側でエラーが発生していない場合はnull、第 1 引数としてに渡す必要がありますreply。最初の引数はエラー用です (ドキュメントのさらに下にあるように)。

動作する私の CoffeeScript コードは次のようになります。

zrpc = require 'zerorpc'
server = new zrpc.Server
  hello: (name, reply) ->
    reply null, "Hello, #{name}!"
server.bind 'tcp://0.0.0.0:4242'
于 2013-08-07T21:30:42.187 に答える