千家信息网

django中websocket怎么使用

发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,本文小编为大家详细介绍"django中websocket怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"django中websocket怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
千家信息网最后更新 2025年02月08日django中websocket怎么使用

本文小编为大家详细介绍"django中websocket怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"django中websocket怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

websocket是一种持久化的协议,HTTP协议是一种无状态的协议,在特定场合我们需要使用长连接,做数据的实时更新,这种情况下我们就可以使用websocket做持久连接。http与websocket二者存在交集。

后端:

from dwebsocket.decorators import accept_websocketimport json# 存储连接websocket的用户clist = [] @accept_websocketdef websocketLink(request):    # 获取连接    if request.is_websocket:        # 新增 用户  连接信息        clist.append(request.websocket)        # 监听接收客户端发送的消息 或者 客户端断开连接        for message in request.websocket:            break  # 发送消息def websocketMsg(client, msg):    b1 = json.dumps(msg,ensure_ascii=False).encode('utf-8')    client.send(b1) # 服务端发送消息def sendmsg():    sql = "select * from customer"    res = db1.find_all(sql)    if len(clist)>0:        for i in clist:            i.send(json.dumps({'list': res},ensure_ascii=False).encode('utf-8'))             # websocketMsg(i, {'list': res})    return HttpResponse("ok") from apscheduler.schedulers.blocking import BlockingScheduler def getecharts(request):    scheduler = BlockingScheduler()    scheduler.add_job(sendmsg,'interval',seconds=1)    scheduler.start()    return HttpResponse('ok')

前端:

  

读到这里,这篇"django中websocket怎么使用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0