我刚刚开始使用ZMQ.我正在设计一个应用程序的工作流程为:
- 许多客户端之一(具有随机PULL地址)在5555向服务器发送请求
- 服务器永远等待客户端PUSHes.当一个人来时,会针对该特定请求生成一个工作进程.是的,工作进程可以同时存在.
- 当该过程完成它的任务时,它会将结果推送给客户端.
我假设PUSH/PULL架构适用于此.请纠正我.
但是我该如何处理这些情况呢?
- 当服务器无法响应时,client_receiver.recv()将等待无限时间.
- 客户端可以发送请求,但它会在之后立即失败,因此工作进程将永远停留在server_sender.send().
那么如何设置PUSH/PULL模型中的超时?
编辑:感谢user938949的建议,我得到了一个有效的答案,我正在为后代分享它.