gpt4 book ai didi

zeromq - 无回复请求的 ZMQ 模式

转载 作者:行者123 更新时间:2023-12-02 04:35:21 26 4
gpt4 key购买 nike

我正在使用 ZMQ 来允许客户端连接到服务器并向其发送命令。命令以高频率进入,不需要任何回复。我正在考虑使用 REQ/REP 套接字,但发送空回复感觉很浪费。我不想使用 PUB/SUB 或 PUSH/PULL,因为我希望客户端启动连接。有没有比 REQ/REP 更适合在这里使用的模式?

最佳答案

(cit.:) because I want the clients to initiate the connection. ( ? )

总是可以让客户端发起连接,因此使用 PUSH/PULL 可扩展正式通信模式似乎非常符合目标,即使使用反向 .bind( )/.connect() 调用,还是您还有别的意思?

如果出于某些其他原因对 PUSH/PULL(到目前为止观察到的)持否定态度,则可能会逃避严格的硬连线步骤锁定(并且还有陷入无法挽救的死锁的风险, 与 REQ/REP
的 per-se 相关联——首先
通过扩展原型(prototype) XREQ/XREP(有关实现细节,请参阅 API 文档)

(如果使用 API 4.2+)
通过解锁 REQ-hardwired通过 .setsockopt( ZMQ_REQ_RELAXED, 1 ) 的 FSA 职责,鉴于上述事实,REP 答案永远不会从服务器端发送/在 REQ 端客户端上处理。如果采用这种方式,请小心,因为 ZMQ_REQ_CORRELATE 可能会设置为 1,消息将恰好变为多帧 (d),因为 REQ-id# 将在 REQ 的客户端有效负载上线之前加载到新注入(inject)的“服务”框架中。这可能会混淆消息接收/处理代码的服务器部分。

对于更有勇气的设计师,可以使用PAIR/PAIR 正式模式原型(prototype),因为它不灌输任何严格的正式行为,但请仔细阅读 API 规范。

关于zeromq - 无回复请求的 ZMQ 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43876068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com