websocket客户端自动关闭,返回code为1000的原因

websocket请求连接后自动关闭,返回关闭码为1000

首先,说下原因。是因为后台返回了一个空字符串,当websocket接收到空字符串是无法判断,当错误处理了,所以主动关闭了连接。

参考这片文章:https://blog.csdn.net/jintingbo/article/details/80864030
后台代码:

from channels.generic.websocket import WebsocketConsumer


class OrderNotifyConsumer(WebsocketConsumer):
    login = False

    def connect(self):
        self.accept()
        # self.send('您好')

    def disconnect(self, close_code):
        print('断开disconnect', close_code)
        # self.close(close_code)
        self.send('你是要断开连接吗?')

    def receive(self, text_data):
        # print(text_data)
        self.send('hello, world')
        # text_data_json = json.loads(text_data)
        # message = text_data_json["message"]  # 因为这个message 为空,所以导致客户端连接正常关闭而不报错
        # self.send(text_data=json.dumps({"message": message}))

    def websocket_receive(self, message):
        print('websocket', message)


来自为知笔记(Wiz)


posted on 2023-07-12 06:22  白衣风云  阅读(1999)  评论(0编辑  收藏  举报

导航