ジャンゴ1はdwebsocketで、二つの方法、1つのチャネルがある、一般のWebSocketを達成。チャンネルはRedisの、ねじれなどによって異なります
dwebsocket
1 Djangoの達成のWebSocket
ジャンゴ1はdwebsocketで、二つの方法、1つのチャネルがある、一般のWebSocketを達成。チャネルは、使用と比較して、等、ねじれ、のRedisに依存dwebsocket一部にとってより便利であることが
2 dwebsocketインストール
PIP3 dwebsocketをインストール
3 dwebsocket設定
設定の設定
INSTALLED_APPS = [ ... ... ' dwebsocket ' ]
インポートdwebsocket MIDDLEWARE_CLASSESを = [ 「dwebsocket.middleware.WebSocketMiddleware 」 #必要に応じて、単一のビューが選択されていない場合、すべてのURLのWebSocket提供するために、 ] WEBSOCKET_ACCEPT_ALL = Trueの #は、各個々の実用的なビューWebSocketをを可能にすることができます
urls.py
django.conf.urls インポートURL から django.contribの輸入管理を から app01 インポートビュー urlpatterns = [ URL(R ' ^管理/ ' 、admin.site.urls)、 URL(R ' ^ログイン/ ' 、views.login) 、 URL(R ' ^パス/ ' 、views.path) ]
views.py
django.shortcuts インポートレンダリング デフログイン(要求): リターンは(要求、レンダリング' のindex.htmlを' ) dwebsocket.decoratorsからインポートaccept_websocket @accept_websocket DEF :パス(リクエスト) の場合request.is_websocket(): プリント(1 ) 要求を。 websocket.send(' 下载完成' .encode(' UTF-8 '))
HTML
<身体> <ボタンのonclick = " WebSocketTest()" >テスト</ button>の </ body> <スクリプト> 機能WebSocketTest(){ 場合(" WebSocketを" でウィンドウ){ 警告(" 您的浏览器支持WebSocketを!" ); // 打开一个ウェブソケット のvar WS =新しいのWebSocket(" WS://127.0.0.1:8000 /パス/ " ); console.log(' WS ' 、WS) WS。ウェブソケットは、データ送信のためにsend()メソッドを使用して接続 ws.send(" 送信データを" ;) アラート(" データ伝送... " ); }; ws.onmessage = 関数(EVT){ VAR received_msg = EVT .DATA; アラート(" データを受信した... " )、 警告(" データ:" + received_msg) }; ws.onclose = 関数(){ // 閉じるのWebSocket 警告("接続が閉じて... " ); }; } 他{ // ブラウザがWebSocketをサポートしていない アラート(" お使いのブラウザはWebSocketのをサポートしていません!" ); } } </ SCRIPT>
4 dwesocketパラメータ
dwebsocket 2つのデコレータ:require_websocketとaccept_websocekt、require_websocket装飾的な機能を使用すると、受信した通常のHTTP要求における結果を考慮してなりません、一般的に使用accept_websocket形態でき、
dwebsocketいくつかの組み込みメソッド:
request.websocket():リクエストはWebSocketの時間である、のWebSocket属性要求の増加、 WebSocket.wait():クライアントがメッセージを送信し返し、それが障害物につながるあらゆる情報を受信しません WebSocket.read()と待機メッセージが許容できるとして返さが、これは非ブロッキング、メッセージ・リターンなしではありません WebSocket.count_messages():リターンメッセージの数 WebSocket.has_messages():戻り来る新しい情報があるかどうか WebSocket.send(MSG):クライアントがメッセージを送信するように、メッセージ・タイプ・バイトがあります |
二チャンネル