0

我正在使用 Pyro 4.34、Python 2.7 和 Jython 2.7。

名称服务器。我可以像这样启动名称服务器:

pyro4-ns --key abc

火焰兵服务器。文档指出我可以_pyroHmacKey在 Pyro 守护程序上设置属性,但该locateNS方法失败并带有NamingError cannot find Name Server.

查看 的 API locateNS,我看到它有一个名为hmac_key. 如果我去掉 _pyroHmacKey 并改用该 arg,Pyro 服务器可以正常启动。

name_server = Pyro4.locateNS(hmac_key='abc')

客户端。文档说明我可以_pyroHmacKey在以下位置设置属性proxy

proxy = Pyro4.Proxy("PYRONAME:test")
proxy._pyroHmacKey = 'abc'

但是,对方法的第一次调用proxy失败:

CommunicationError: cannot connect: hmac key config not symmetric
4

1 回答 1

1

在 Pyro Server 代码中,我_pyroHmacKey从 Pyro 守护进程中删除了属性,因为我假设它只需要在参数中指定到Pyro4.locateNS(). 一旦我重新添加它,一切正常。

看起来 hmac 密钥需要在两个位置都出现才能正常工作。

name_server = Pyro4.locateNS(hmac_key='abc')
daemon = Pyro4.daemon()
daemon._pyroHmacKey = 'abc'
uri = daemon.register(Foo())
ns.register('test, uri)
daemon.requestLoop()
于 2015-12-01T05:58:24.083 回答