django中使用dwebsocket 后端实时进行和前端通讯

安装dwebsocket
https://github.com/StanleyLe/Utils/tree/StanleyLe-patch-1
下载到本地 在命令行中切换到压缩到的文件夹执行

 python setup.py install

简单使用

<script type="text/javascript">


    var socket = new WebSocket("ws:" + window.location.host + "/drug/drug_connect/");
            socket.onopen = function () {
                console.log('WebSocket open');//成功连接上Websocket
                socket.send('adasdasda。。。。');//发送数据到服务端
            };
            socket.onmessage = function (e) {
                console.log('message: ' + e.data);//打印服务端返回的数据
            };
            socket.onclose=function(e){
              console.log(e);
              socket.close(); //关闭TCP连接
            };
            if (socket.readyState == WebSocket.OPEN) socket.onopen();

</sctipt>

drug/urls.py

    url(r'drug_connect/$', views.drug_connect, name='drug_connect'),

drug/views.py


from  dwebsocket.decorators import accept_websocket
@accept_websocket
def drug_socket(request):

    if request.is_websocket():
        try:
            while 1:
                message = request.websocket.wait()  # 接受前段发送来的数据
                if message:
                    message = bytes.decode(message)
                    if message != '886':
                        try:
                            receive_data = RFID_cls.getRFID()
                            if receive_data:
                                request.websocket.send(receive_data.encode())  # 发送给前段的数据
                                time.sleep(1)

                        except Exception as e:
                            request.websocket.close()
                            return
                    else:
                        print('socket请求关闭!!!')
                        request.websocket.close()
                        return
        except Exception as e:
            try:
                request.websocket.close()
                return
            except:
                return


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,056评论 3 119
  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 6,321评论 0 8
  • 2018年第一个月不知不觉间已经过完了,不知为何,越过生活对时间越有一种焦虑感 这是一个最好的时代,也是一个最坏的...
    张舒月阅读 1,571评论 0 1
  • 开学到现在已经七周了,我们大三班的小朋友在幼儿园学习和生活,又增长了许多本领,今天我们就来展示这学期所学的本领,我...
    丿娇阅读 2,795评论 0 0

友情链接更多精彩内容