Эта проблема может быть немного неясной ... Я сталкиваюсь с утверждением ZeroMQ о соединениях, когда я настраиваю клиентский процесс (сторона, которая соединяется, а не связывается) как сервер кривых с пользовательским обработчиком ZAP. Эта конфигурация обратна от примеров, которые я смотрел - в том, что обычно сервер кривой является стороной, с которой связывается, и клиент соединяется); однако в документации указано, что не имеет значения, какая сторона связывает или соединяет.
В обработчике ZAP, если учетные данные клиента кривой действительны, соединение установлено и все работает. Однако, если учетные данные недействительны и обработчик ZAP отвечает кодом состояния «400», ZeroMQ подтверждает это сразу. Точное утверждение "Assertion failed: zap_pipe == NULL (src/session_base.cpp:301)
". Я убедился, что если я переверну, какая сторона связывает и соединяет, то нет никакого утверждения.
Версия ZMQ: 4.1.4,
работает на Ubuntu 16.04.9,
gcc 5.4.0. ( @ Дейл )
Мне не удалось найти подробную документацию, указывающую, как должен работать обработчик ZAP - так что, возможно, есть другой код, который должен быть возвращен?
Кто-нибудь еще пробовал это?