웹 소켓을 달성 장고

 

장고 한 dwebsocket이며, 두 가지 방법으로, 하나 개의 채널이 일반적으로 웹 소켓을 얻을 수 있습니다. 채널 레디 스 트위스트 등에 따라

dwebsocket

1 장고 달성 웹 소켓

장고 한 dwebsocket이며, 두 가지 방법으로, 하나 개의 채널이 일반적으로 웹 소켓을 얻을 수 있습니다. 채널은 사용에 비해, 등 트위스트 레디 스,에 따라 dwebsocket 좀 더 편리하기

2 dwebsocket 설치

pip3 dwebsocket 설치

3 dwebsocket 구성

설정 설정

INSTALLED_APPS = [ 
    ... 
    ...    
    ' dwebsocket ' 
]
오기 dwebsocket 
를 MIDDLEWARE_CLASSES = [
     ' dwebsocket.middleware.WebSocketMiddleware '   # 필요한 단일보기가 선택되지 않은 경우에는 모든 URL 웹 소켓 제공하는 
] 
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

<body> 
  <버튼의 onclick = " () WebSocketTest " > 시험 </ 버튼> 
</ body> 


<script> 
    함수 WebSocketTest () { 
        경우 ( " 웹 소켓 "  창) { 
            경보 ( " 您的浏览器支持웹 소켓! " ); 

            // 打开一个웹 소켓 
            var에 WS = 새로운 웹 소켓 ( " WS : //127.0.0.1 : 8000 / 경로 / " ); 
            을 console.log ( ' WS ' , WS)는 

            WS.웹 소켓 데이터 전송을위한 송신 () 메소드를 사용하여 연결 
                ws.send ( " 송신 데이터 " ), 
                경보 ( " 데이터 전송 ... " ); 
            }; 

            ws.onmessage = 함수 (EVT)를 { 
                VAR received_msg = EVT .DATA, 
                경보 ( " 데이터가 수신되었는지 ... " ), 
                경보 ( " 데이터 : " + received_msg) 
            } 

            ws.onclose = 함수 () {
                 // 근접 웹 소켓 
                경보 ( " 연결 ... 폐쇄 " ); 
            }; 
        } 

        다른 {
             // WebSocket을 지원하지 않는 브라우저 
            경고를 ( " ! 귀하의 브라우저가 웹 소켓을 지원하지 않습니다 " ); 
        } 
    }
 </ SCRIPT>

4 dwesocket 파라미터

두 장식 dwebsocket : require_websocket 및 accept_websocekt, 사용 require_websocket 장식 기능은, 일반적으로 사용 accept_websocket 실시 할 수있는 수신 통상의 HTTP 요청의 결과의 관점에서 발생되지

 

dwebsocket 일부 내장 방법 :

 

 

request.is_websocket는 ()는 : 요청이 웹 소켓의 방법입니다 여부를 결정, 그렇지 않으면 참, 거짓을 반환

request.websocket () 요청이 웹 소켓 시간되면, 웹 소켓 속성 요구의 증가,

WebSocket.wait () : 클라이언트가 메시지를 전송 반환, 그것은 폐쇄로 이어지는 정보를받을 수 없습니다

WebSocket.read () 및 대기 메시지가 허용되는 반환하지만 이는 어떤 메시지 리턴 없음 비 차단되지

WebSocket.count_messages () : 메시지의 반환 수

WebSocket.has_messages () : 반환 새로운 정보가 나오는이 있는지 여부

WebSocket.send (MSG) : 클라이언트가 메시지를 전송 마찬가지로, 메시지 유형 바이트는

 

二 채널

 

 

추천

출처www.cnblogs.com/a438842265/p/12005896.html