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。_pryoHmacKey を取り除き、代わりにその arg を使用すると、Pyro Server は問題なく起動できます。

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

クライアント。ドキュメントには、次の_pyroHmacKey属性を設定できると記載されていproxyます。

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

ただし、メソッド on への最初の呼び出しは次のproxyエラーで失敗します。

CommunicationError: cannot connect: hmac key config not symmetric
4

1 に答える 1

1

Pyro Server のコードでは_pyroHmacKey、Pyro デーモンから属性を削除しました。これは、パラメータ to で指定するだけでよいと想定したため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 に答える