django中使用dwebsocket 后端實(shí)時(shí)進(jìn)行和前端通訊

安裝dwebsocket
https://github.com/StanleyLe/Utils/tree/StanleyLe-patch-1
下載到本地 在命令行中切換到壓縮到的文件夾執(zhí)行

 python setup.py install

簡(jiǎn)單使用

<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。。。。');//發(fā)送數(shù)據(jù)到服務(wù)端
            };
            socket.onmessage = function (e) {
                console.log('message: ' + e.data);//打印服務(wù)端返回的數(shù)據(jù)
            };
            socket.onclose=function(e){
              console.log(e);
              socket.close(); //關(guān)閉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()  # 接受前段發(fā)送來的數(shù)據(jù)
                if message:
                    message = bytes.decode(message)
                    if message != '886':
                        try:
                            receive_data = RFID_cls.getRFID()
                            if receive_data:
                                request.websocket.send(receive_data.encode())  # 發(fā)送給前段的數(shù)據(jù)
                                time.sleep(1)

                        except Exception as e:
                            request.websocket.close()
                            return
                    else:
                        print('socket請(qǐng)求關(guān)閉?。?!')
                        request.websocket.close()
                        return
        except Exception as e:
            try:
                request.websocket.close()
                return
            except:
                return


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,172評(píng)論 3 119
  • 模塊間聯(lián)系越多,其耦合性越強(qiáng),同時(shí)表明其獨(dú)立性越差( 降低耦合性,可以提高其獨(dú)立性)。軟件設(shè)計(jì)中通常用耦合度和內(nèi)聚...
    riverstation閱讀 2,203評(píng)論 0 8
  • 2018年第一個(gè)月不知不覺間已經(jīng)過完了,不知為何,越過生活對(duì)時(shí)間越有一種焦慮感 這是一個(gè)最好的時(shí)代,也是一個(gè)最壞的...
    張舒月閱讀 245評(píng)論 0 1
  • 開學(xué)到現(xiàn)在已經(jīng)七周了,我們大三班的小朋友在幼兒園學(xué)習(xí)和生活,又增長了許多本領(lǐng),今天我們就來展示這學(xué)期所學(xué)的本領(lǐng),我...
    丿嬌閱讀 397評(píng)論 0 0

友情鏈接更多精彩內(nèi)容