检测客户端的redis websocket是否发生了重新连接

时间:2016-05-13 10:50:11

标签: django websocket redis client-side

我对django-websocket-redis很新,正常情况下我遇到了一些问题。

我建立了从客户端到服务器的通信,反之亦然using Websockets for Redis

我想从服务器检测客户端是reconnected还是disconnected(意味着连接关闭和/或再次打开时),以便我实现客户端负责的机制当他们重新连接时询问“我错过了什么”,然后查询他们错过的数据。

目前我的客户端代码与此(fiddle here)类似。 我可以检测到第一次建立连接的时间,但是当websocket连接断开并重新连接时。

关于我该怎么做的任何想法?

1 个答案:

答案 0 :(得分:1)

问题在于您设置的函数名称不应该是on_connecting(),而应该只是函数on_connecting的名称。

下面是代码,用下面的代码替换你的代码并检查它是否有效。

var ws4redis = WS4Redis({
    uri: '{{ WEBSOCKET_URI }}foobar?subscribe-broadcast&publish-broadcast&echo',
    receive_message: receiveMessage,
    connecting: on_connecting,
    connected: on_connected,
    error: on_error,
    disconnected: on_disconnected,
    close: on_close,
    open: on_open,
});

当您编写on_connecting()时,在初始化WS4redis时调用函数,这就是您查看所有事件的控制台日志的原因