Django 学习笔记 (二)dwebsocket

dwebsocket  一次连接,就可以直接发送,不需要多次请求 

安装

        通过pip安装有问题。可直接下载git版,将websocket文件复制到项目中。

使用代码解释

    *django中(服务端) 独立url数据通信


        request.is_websocket() 判断消失是否是websocket请求,True
        request.websocket.send() 发送信息,内容只能为字符串或json字符串
        request.websocket 从客户端接收到信息的数组


    *js中(客户端)
        导包

            <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>

        script代码
        var socket = new WebSocket("ws://" + window.location.host + "/url");    创建连接对象和地址
        socket.onopen = function () {    //打开连接,并执行函数
                console.log('WebSocket open');//成功连接上Websocket //控制台打印信息
            };
        
        socket.onmessage = function (e) {    //接收信息,并将信息存放e中
                console.log('message: ' + e.data);//打印出服务端返回过来的数据 //控制台打印信息
                $('#messagecontainer').prepend('<p>' + e.data + '</p>');  //数据在前端的操作
            };
        
        if (socket.readyState == WebSocket.OPEN) socket.onopen();  //如果已经创建对象,则直接打开
        

        功能  对象创建成功后,可直接使用以下功能
        1.request.is_websocket()
        如果是个websocket请求返回True,如果是个普通的http请求返回False,可以用这个方法区分它们。

        2.request.websocket
        在一个websocket请求建立之后,这个请求将会有一个websocket属性,用来给客户端提供一个简单的api通讯,如果request.is_websocket()是False,这个属性将是None。

        3.WebSocket.wait()
        返回一个客户端发送的信息,在客户端关闭连接之前他不会返回任何值,这种情况下,方法将返回None
        
        4.WebSocket.read()
         如果没有从客户端接收到新的消息,read方法会返回一个新的消息,如果没有,就不返回。这是一个替代wait的非阻塞方法

        5.WebSocket.count_messages()
         返回消息队列数量

        6.WebSocket.has_messages()
         如果有新消息返回True,否则返回False

        7.WebSocket.send(message)
         向客户端发送消息

 

学习参考网站:

        https://blog.csdn.net/a649344475/article/details/81234825

        https://blog.csdn.net/xianailili/article/details/82180114

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值