我正在寻找一种从 IPC 一侧调用特定功能的方法。
假设这个示例代码:
socket = context.socket(zmq.REQ)
socket.connect("tcp://127.0.0.1:8000")
socket.send(resp)
我想指定'resp'将被转发到的功能,这可能吗?如果不是我怎么能这样做?
我可能在这里误解了你的目标。但是有一种方法可以使用 zmq 发送多部分消息,这意味着您可以轻松添加一个额外的字段,您可以在另一端进行测试以确定如何处理您的数据。
看看socket.send_multipart
和socket.recv_multipart
。
http://zeromq.github.io/pyzmq/api/zmq.html#zmq.Socket.send_multipart
使用这些,您可以执行以下操作:send_multipart(["description_of_data", data])
并使用recv_multipart()
接收另一侧的列表。您可以检查第一个元素并相应地处理数据。
问题有点不清楚,如果您的意思是一种解决特定接收者的方法,请查看路由器/经销商 xrep/xreq 套接字类型,它们包含一个路由信封,如果您知道它们的身份,您可以在其中定位特定端点。