我使用 nopoll ( http://www.aspl.es/nopoll/ ) 让我的 C 应用程序与 Meteor 进行通信。
Meteor 会定期发送一些ping消息。当我的应用程序轮询 websocket 时,它会回复pong消息:一切都已找到。
接下来,为了避免轮询,我将其替换为初始化为sigaction(SIGIO, ...).
然后,当ping收到时,我发送pong,但有时,服务器停止发送ping并且无法交换其他消息。
ping和相关pong消息之间是否有任何超时。是否有任何机制可以向自己宣传连接丢失,原因nopoll_conn_is_ok()和nopoll_conn_is ready()总是nopoll_true。