这个问题可能有点模糊......当我将客户端进程(连接,不绑定的一方)配置为具有自定义ZAP处理程序的曲线服务器时,我在连接上遇到ZeroMQ断言。这个配置是我所看到的示例的后退 - 通常曲线服务器是绑定的一方,客户端连接);但是,文档表明哪一方绑定或连接并不重要。
在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。 (@Dale)
我找不到详细的文档来指明ZAP处理程序应该如何工作 - 所以可能还有其他代码需要返回?
有没有其他人试过这个?