django創(chuàng)建websocket的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元昌平做網(wǎng)站,已為上家服務(wù),為昌平各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

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

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

安裝dwebsocket

安裝方法:

1.通過pip

pip install  dwebsocket2

2.通過下載到本地

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

使用方法

如果你想為一個單獨的視圖處理一個websocklet連接可以使用accept_websocket裝飾器,它會將標準的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)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱:django創(chuàng)建websocket的方法-創(chuàng)新互聯(lián)
文章路徑:http://bm7419.com/article22/cdejjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站策劃、建站公司、微信小程序、用戶體驗響應(yī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è)