我正在使用Faye和Rails。当浏览器客户端订阅时,我们将通道名称保存到数据库,并将其与订阅用户关联,原因无关。
我希望能够在客户端断开连接时删除数据库中的这些WebsocketChannel
记录。但客户端断开连接的主要方式是浏览器关闭时。
我查看Faye Monitoring并尝试使用disconnect
事件,但在浏览器关闭时它不会触发。 (这是有道理的,我认为javascript客户端必须明确断开此事件才能触发)。
管理这个的好方法是什么?
我目前正在使用时间戳并在X分钟后使频道过期,但这还不够好。
此外,我们正在使用Net:HTTP
向客户发布。当客户端不存在时,此POST
仍会返回成功(我认为这是一个错误)。