django創(chuàng)建websocket的方法

小編給大家分享一下django創(chuàng)建websocket的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

站在用戶的角度思考問題,與客戶深入溝通,找到泰興網(wǎng)站設(shè)計與泰興網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋泰興地區(qū)。

伴隨著HTML5推出的WebSocket,真正實現(xiàn)了Web的實時通信,使B/S模式具備了C/S模式的實時通信能力。WebSocket的工作流程是這 樣的:瀏覽器通過JavaScript向服務(wù)端發(fā)出建立WebSocket連接的請求,在WebSocket連接建立成功后,客戶端和服務(wù)端就可以通過 TCP連接傳輸數(shù)據(jù)。因為WebSocket連接本質(zhì)上是TCP連接,不需要每次傳輸都帶上重復(fù)的頭部數(shù)據(jù),所以它的數(shù)據(jù)傳輸量比輪詢和Comet技術(shù)小了很多。

安裝dwebsocket

安裝方法:

1.通過pip

pip install  dwebsocket2

2.通過下載到本地

解壓,執(zhí)行 python setup.py install

使用方法

如果你想為一個單獨的視圖處理一個websocklet連接可以使用accept_websocket裝飾器,它會將標(biāo)準(zhǔn)的HTTP請求路由到視圖中。使用require_websocke裝飾器只允許使用WebSocket連接,會拒絕正常的HTTP請求。

在設(shè)置中添加設(shè)置MIDDLEWARE_CLASSES=dwebsocket.middleware.WebSocketMiddleware這樣會拒絕單獨的視圖實用websocket,必須加上accept_websocket 裝飾器。

設(shè)置WEBSOCKET_ACCEPT_ALL=True可以允許每一個單獨的視圖實用websockets

一些方法和屬性

1.request.is_websocket()

如果是個websocket請求返回True,如果是個普通的http請求返回False,可以用這個方法區(qū)分它們。

2.request.websocket

在一個websocket請求建立之后,這個請求將會有一個websocket屬性,用來給客戶端提供一個簡單的api通訊,如果request.is_websocket()是False,這個屬性將是None。

3.WebSocket.wait()

返回一個客戶端發(fā)送的信息,在客戶端關(guān)閉連接之前他不會返回任何值,這種情況下,方法將返回None

4.WebSocket.read()

如果沒有從客戶端接收到新的消息,read方法會返回一個新的消息,如果沒有,就不返回。這是一個替代wait的非阻塞方法

5.WebSocket.count_messages()

 返回消息隊列數(shù)量

6.WebSocket.has_messages()

 如果有新消息返回True,否則返回False

7.WebSocket.send(message)

 向客戶端發(fā)送消息

8.WebSocket.__iter__()

 websocket迭代器

看完了這篇文章,相信你對django創(chuàng)建websocket的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章題目:django創(chuàng)建websocket的方法
鏈接地址:http://bm7419.com/article18/ipoodp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、關(guān)鍵詞優(yōu)化、、做網(wǎng)站網(wǎng)站維護、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)