我有一个小型的websocket服务器,运行在以下库之上:
- ReactPHP,
- Ratchet
和
- ZeroMQ,使用
php-zmq
包装器。
代码基本上与教程中一样。事件循环正确启动,用户能够连接到服务器,当另一方push时,他们会收到正确的消息,但过一段时间后,通常是几天(取决于使用情况),消息就停止到达了。
使用并不会很多 - 目前只有一两个前端开发人员连接,因为这是开发阶段。
循环正在运行,连接上后返回HTTP 101切换协议,但不广播之前正确广播的消息。没有任何错误。重启事件循环可以解决问题。
我的问题是:
1) 这是什么原因呢?有人遇到类似的行为吗?
2) 您能推荐一种我可以调试事件循环长时间运行的方法吗?
目前,我必须停止循环,更改代码(添加日志调用),重新启动循环,然后等待它再次出错,这至少很繁琐。
任何帮助都将不胜感激。