aiozmq是Asyncio(pep3156)与ZeroMQ的集成。
高级客户端-服务器RPC示例:
import asyncioimport aiozmq.rpcclass ServerHandler(aiozmq.rpc.AttrHandler): @aiozmq.rpc.method def remote_func(self, a:int, b:int) -> int: return a + b@asyncio.coroutinedef go(): server = yield from aiozmq.rpc.serve_rpc( ServerHandler(), bind='tcp://127.0.0.1:5555') client = yield from aiozmq.rpc.connect_rpc( connect='tcp://127.0.0.1:5555') ret = yield from client.call.remote_func(1, 2) assert 3 == ret server.close() client.close()asyncio.get_event_loop().run_until_complete(go())
评论