>  기사  >  백엔드 개발  >  Python의 Tornado에서 WebSocket 클라이언트 프로그래밍 소개

Python의 Tornado에서 WebSocket 클라이언트 프로그래밍 소개

不言
不言앞으로
2018-10-20 15:40:013422검색

이 글은 Python의 Tornado에서의 WebSocket 클라이언트 프로그래밍에 대한 소개를 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

WebSocket은 HTML5의 표준 중 하나이기 때문에 주류 브라우저의 웹 클라이언트 프로그래밍 음성 JavaScript는 이미 WebSocket 클라이언트 프로그래밍을 지원합니다.

클라이언트 프로그래밍은 WebSocket 개체를 중심으로 진행됩니다. JavaScript에서는 다음 코드를 통해 WebSocket 개체를 초기화할 수 있습니다.

var Socket=new WebSocket(url);

코드에서는 서버의 WebSocket 생성자에 대한 값입니다. http://mysite.com/point.

과 같은 URL 주소는 이에 응답하기 위해 이 개체의 다음 이벤트에 대한 처리기 함수를 지정할 수 있습니다. 🎜🎜#

#🎜 🎜 #WebSocket.onopen: 이 이벤트는 WebSocket 링크가 설정될 때 발생합니다.
  • WebSocket.onmessage: 이 이벤트는 서버로부터 메시지가 수신될 때 발생합니다.
  • WebSocket.onerror: 이 이벤트는 통신 중에 오류가 있을 때 발생합니다.
  • WebSocket.onclose: 이 이벤트는 서버의 링크가 닫힐 때 발생합니다.
  • 이러한 이벤트 처리 기능 외에도 WebSocket 개체의 두 가지 메서드를 통해 활성 작업을 수행할 수도 있습니다.

#🎜🎜 #WebSocket.send(data): 서버에 메시지를 보냅니다.

  • WebSocket.close(): 기존 링크를 적극적으로 닫습니다.

  • 클라이언트 WebSocket 프로그래밍 예제 프로그램은 다음과 같습니다. index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>WebSocket</title>
    </head>
    <body>
    <a href="javascript:WebSocketTest()">运行WebSocket</a>
    <p id="messages" style="height: 200px;background: black;color:white"></p>
    
    </body>
    <script type="text/javascript">
        var messageContainer=document.getElementById("messages");
        function WebSocketTest() {
            if("WebSocket" in window){
                messageContainer.innerHTML="浏览器支持WebSocket";
                var ws=new WebSocket("ws://localhost:8888/websocket?Id=12345");
                ws.onopen=function () {
                    ws.send("onopen")
                };
                ws.onmessage=function (evt) {
                    var received_msg=evt.data;
                    messageContainer.innerHTML=messageContainer.innerHTML+"<br/>收到的信息:"+received_msg;
                }
                ws.onclose=function () {
                    messageContainer.innerHTML=messageContainer.innerHTML+"<br/> 连接关闭了";
                }
    
    
            }else{
                messageContainer.innerHTML="浏览器不支持WebSocket"
            }
        }
    </script>
    </html>
  • 위 코드는 다음과 같이 분석됩니다.

클라이언트 페이지의 본문은 두 부분으로 구성됩니다. WebSocket 실행 링크는 사용자가 WebSocket을 시작할 수 있도록 하고, 다른

태그는 id=message로 사용됩니다. 서버 측 메시지를 표시합니다.

  • JavaScript 문 if(창의 "WebSocket")를 사용하여 현재 브라우저가 WebSocket 개체를 지원하는지 확인하세요.

  • 브라우저가 WebSocket 객체를 지원하는 경우 인스턴스 ws를 정의하여 서버의 WebSocket 주소에 연결하고 자체 식별자 매개변수를 전달합니다. 그런 다음 js 구문(onopen, onmessage, onclose 처리 함수)을 통해 이벤트를 정의합니다. 클라이언트가 WebSocket.send() 함수를 사용하여 서버에 메시지를 보내는 onopen 이벤트를 제외하고 다른 이벤트는 페이지

    태그에 이벤트 결과만 표시합니다.

  • 작동 효과는 다음과 같습니다.

위 내용은 Python의 Tornado에서 WebSocket 클라이언트 프로그래밍 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제