2013-06-11 31 views
4

我嘗試使用zerorpc Python客戶端這樣的:zerorpc蟒蛇你好在Mac世界客戶端不能正常工作

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) 

任何想法,這個錯誤?

+0

可以共享的NodeJS服務器的代碼,以便我們可以重現問題? – bombela

回答

6

docs當前錯誤。如果節點端沒有錯誤,則需要將null作爲第一個參數傳遞給reply。第一個參數是錯誤的(因爲它說,在文檔進一步下跌。)

我的CoffeeScript代碼的工作是這樣的:

zrpc = require 'zerorpc' 
server = new zrpc.Server 
    hello: (name, reply) -> 
    reply null, "Hello, #{name}!" 
server.bind 'tcp://0.0.0.0:4242' 
+0

非常整齊的答案nate,謝謝 – zishan

+0

你有一個反例的工作示例? (python服務器和node.js客戶端) –

+0

UGH。可笑的是官方消息來源在2年來一直是災難性的錯誤。 –