使用ZMQ创建异步消息线程,主要的组件包括使用ZMQ的异步IO模式和多线程。
示例代码:
import zmq import threading
def async_msg_thread(): context = zmq.Context() socket = context.socket(zmq.PUB) socket.bind("tcp://127.0.0.1:5555")
while True:
socket.send_string("async message")
def main(): context = zmq.Context() socket = context.socket(zmq.SUB) socket.connect("tcp://127.0.0.1:5555") socket.setsockopt(zmq.SUBSCRIBE, b"")
thread = threading.Thread(target=async_msg_thread)
thread.start()
while True:
message = socket.recv_string()
print(message)
if name == "main": main()