我有一个小型 websocket 服务器,运行在一组库之上:
- 反应PHP,
- 棘轮
和
- ZeroMQ,使用
php-zmq
包装器。
代码与教程中的代码基本相同。
事件循环正确启动,用户能够连接到服务器,他们收到正确的消息,当对方推送一些东西时,但过了一段时间,通常几天(取决于使用情况)消息停止到达。
使用并没有压倒一切——目前只有一两个前端开发人员连接,因为这是一个开发阶段。
循环正在运行,它在正确连接时返回 HTTP 101 切换协议,但不广播之前正确广播的消息。任何地方都没有错误。重新启动事件循环会有所帮助。
我的问题是:
1)什么会导致这种情况?有人遇到过类似的行为吗?
2)你能推荐一种我可以在事件循环的长时间运行过程中调试它的方法吗?
目前,我必须停止循环,更改代码(添加日志调用),再次重新启动循环并等待它再次出错,这至少是乏味的。
非常感谢任何帮助。