在Django视图中检测网络套接字是否已连接

时间:2019-06-28 13:17:14

标签: django websocket django-channels

我正在研究一个广泛使用websockets的项目,有时候发生的是虽然从django视图发送了消息,但客户端没有收到消息。在分析日志时,我发现有时消息正在发送即使网上论坛中的websocket是否已连接。

就像我有一个django视图一样,如果满足某些条件,就会向该组发送一条消息。如下:-

def send_message(request):
    #some existing lines of code
    if(some_condition):
       Group("receivers").send({"text":json.dumps({"key1":"value1","key2":"value2"})})

我想在将消息发送给“接收者”组之前知道该组的websocket是否已连接。如果未连接,则代码应等待Websockets连接好,然后发送消息。

所以总体来说应该像这样:

def send_message(request):
    #some existing lines of code
    if(some_condition):
        if(websockets_are_not_connected):
            wait_for_websockets_to_get_connected
        elif(websockets_are_connected):
             Group("receivers").send({"text":json.dumps({"key1":"value1","key2":"value2"})})

PS:我正在使用django = 1.11,channels == 1.1.8和redis作为消息代理。

0 个答案:

没有答案