aiozmqasyncio (pep 3156) 与 ZeroMQ 的集成。

高级 客户端-服务器 RPC 示例:

import asyncio
import aiozmq.rpc


class ServerHandler(aiozmq.rpc.AttrHandler):

    @aiozmq.rpc.method
    def remote_Func(self, a:int, b:int) -> int:
        return a + b


@asyncio.coroutine
def 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())

 


Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务