当前位置: 首页>>代码示例>>Python>>正文


Python ZMQStream.recv_multipart方法代码示例

本文整理汇总了Python中zmq.eventloop.zmqstream.ZMQStream.recv_multipart方法的典型用法代码示例。如果您正苦于以下问题:Python ZMQStream.recv_multipart方法的具体用法?Python ZMQStream.recv_multipart怎么用?Python ZMQStream.recv_multipart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在zmq.eventloop.zmqstream.ZMQStream的用法示例。


在下文中一共展示了ZMQStream.recv_multipart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: ZMQBaseSocket

# 需要导入模块: from zmq.eventloop.zmqstream import ZMQStream [as 别名]
# 或者: from zmq.eventloop.zmqstream.ZMQStream import recv_multipart [as 别名]
class ZMQBaseSocket(object):
    """
    Base socket class for zmq sockets.
    """
    def __init__(self, socket, endpoint):
        """
        :param socket: ZeroMQ socket.
        :type socket: zmq.Context.socket
        :param endpoint: Endpoint to bind or connect the socket to.
        :type endpoint: str
        """
        self._socket = socket
        self._endpoint = endpoint

    def run(self):
        """
        Base method that connects or binds a socket to self._endpoint.
        Sub classes must override this method.
        """
        raise NotImplementedError(self.run)

    def wrap_zmqstream(self):
        """
        Wraps self._socket into ZMQStream socket.
        """
        self._socket = ZMQStream(self._socket)

    def register_handler(self, method, callback, *args, **kwargs):
        """
        Registers a callback for a particular method.

        :param method: The method to which the callback will be attached.
        :type method: str
        :param callback: The callback method.
        :type callback: function
        """
        if isinstance(self._socket, ZMQStream):
            getattr(self._socket, method)(callback)
        else:
            raise TypeError("Not a ZMQStream socket.")

    def send(self, msg):
        """
        Wrapper over "socket.send_multipart()".

        :param msg: Message to be sent.
        :type msg: list

        :return: Return Value of send_multipart()
        :rtype: None or MessageTracker
        """
        # Performing type checking as it is fairly easy to just send a
        # str in param msg.
        if not isinstance(msg, list):
            raise TypeError("param msg expected of <type 'list'>. Found %s."
                            % (type(msg)))
        return self._socket.send_multipart(msg)

    def recv(self):
        """
        Wrapper over "socket.recv_multipart()".

        :return: Received message.
        :rtype: list
        """
        return self._socket.recv_multipart()

    def close(self):
        """
        Wrapper to close the socket.
        """
        self._socket.close()
开发者ID:indradhanush,项目名称:U1DB-ZeroMQ-Transport,代码行数:74,代码来源:zmq_base.py


注:本文中的zmq.eventloop.zmqstream.ZMQStream.recv_multipart方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。