如何使用PHP创建共享的ZMQ套接字?场景是
- User1登录系统—发生ZMQ绑定,用户留在系统
- User2登录系统-绑定异常,因为套接字地址已在使用
我们应该如何使用ZMQ处理这个问题?
我想你应该对一个进程使用bind(),对另一个进程使用connect()。
来自ZMQ指南http://zguide.zeromq.org/page:all:
要在两个节点之间创建连接,在一个节点中使用zmq_bind(3),在另一个节点中使用zmq_connect(3)。根据一般经验,执行zmq_bind(3)操作的节点是位于已知网络地址上的"服务器",执行zmq_connect(3)操作的节点是具有未知或任意网络地址的"客户端"。因此,我们说"将套接字绑定到端点"one_answers"将套接字连接到端点",端点是众所周知的网络地址。
这个问题的答案在SO
方法:ZMQContext::getSocket ( integer $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )
从上下文创建新套接字的快捷方式。如果上下文是如果不是持久化的,则忽略persistent_id参数回到非持久性。只调用on_new_socket当创建一个新的底层套接字结构