上下文:Linux (Ubuntu)、C、ZeroMQ
我有一个侦听ipc://
SUB ZeroMQ 套接字(物理上是 Unix 域套接字)的服务器。
我有一个客户端应该连接到套接字,发布它的消息并断开连接。
问题:如果服务器被杀死(或以其他方式异常死亡),套接字文件将保留在原地。如果客户端尝试连接到这个陈旧的套接字,它会阻塞在zmq_term()
.
如果服务器不存在,我需要防止客户端阻塞,但如果服务器处于活动状态但很忙,则保证交付。
假设我无法通过一些外部魔法(例如通过检查 PID 文件)来跟踪服务器的生命周期。
有什么提示吗?