Общий ZMQ Socket PHP - PullRequest
       7

Общий ZMQ Socket PHP

1 голос
/ 20 октября 2011

Как создать общий сокет ZMQ с использованием PHP? Сценарий

  1. Пользователь1 входит в систему - происходит привязка ZMQ, и пользователь остается в системе
  2. Пользователь2 входит в систему - исключение привязки возникает из-за того, что адрес сокета уже используется

Как мы должны решить эту проблему, используя ZMQ?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2012

Я думаю, что вы хотите использовать bind () для одного процесса и connect () для другого.

Из Руководства по ZMQ http://zguide.zeromq.org/page:all:

Чтобы создать соединение между двумя узламивы используете zmq_bind (3) в одном узле, а zmq_connect (3) в другом.Как общее практическое правило, узел, который выполняет zmq_bind (3), является «сервером», сидящим по общеизвестному сетевому адресу, а узел, который выполняет zmq_connect (3), является «клиентом» с неизвестной или произвольной сетью.адреса.Таким образом, мы говорим, что «привязываем сокет к конечной точке» и «подключаем сокет к конечной точке», конечной точкой является этот хорошо известный сетевой адрес.

1 голос
/ 25 июля 2012

Ответ на этот вопрос - это сообщение в SO

Метод: ZMQContext::getSocket ( integer $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )

Ярлык для создания новых сокетов из контекста. Если контекст не постоянный параметр persistent_id игнорируется и сокет возвращается к тому, чтобы быть непостоянным. On_new_socket вызывается только когда создается новая базовая структура сокетов

...