하나의 요청에 대해 여러 응답을 푸시하는 Tornado

DeadDjangoDjoker

Im은 클라이언트 측의 모든 요청에 ​​대해 여러 응답을 푸시해야합니다. 나는 웹 소켓으로 이러한 목적으로 토네이도를 사용하고 있습니다.

나는 토네이도에 상대적으로 생소하며 내가 이해하는 바에 따르면.

import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
import socket

class WSHandler(tornado.websocket.WebSocketHandler):
    def open(self):
      print 'new connection'

    def on_message(self, message):
      print 'message received:  %s' % message
      # Reverse Message and send it back
      print 'sending back message: %s' % message[::-1]
      self.write_message('%s:%s' % (i,message[::-1]))

    def on_close(self):
      print 'connection closed'

    def check_origin(self, origin):
      return True

application = tornado.web.Application([
  (r'/ws', WSHandler),
])

on_message 함수가 여러 요청을 푸시하도록하려면 어떻게해야합니까?

내가 사용하는 HTML 코드,

<!doctype html>
<html>
  <head>
    <title>WebSockets Hello World</title>
    <meta charset="utf-8" />
    <style type="text/css">
      body {
        text-align: center;
        min-width: 500px;
      }
    </style>
    <script src="http://code.jquery.com/jquery.min.js"></script>
    <script>

      // log function
      log = function(data){
        $("div#terminal").prepend("</br>" +data);
        console.log(data);
      };

      $(document).ready(function () {
        $("div#message_details").hide()

        var ws;

        $("#open").click(function(evt) {
          evt.preventDefault();

          var host = $("#host").val();
          var port = $("#port").val();
          var uri = $("#uri").val();

          // create websocket instance
          ws = new WebSocket("ws://" + host + ":" + port + uri);

          // Handle incoming websocket message callback
          ws.onmessage = function(evt) {
            log("Message Received: " + evt.data)
            alert("message received: " + evt.data);
            };

          // Close Websocket callback
          ws.onclose = function(evt) {
            log("***Connection Closed***");
            alert("Connection close");
            $("#host").css("background", "#ff0000"); 
            $("#port").css("background", "#ff0000"); 
            $("#uri").css("background",  "#ff0000");
            $("div#message_details").empty();

            };

          // Open Websocket callback
          ws.onopen = function(evt) { 
            $("#host").css("background", "#00ff00"); 
            $("#port").css("background", "#00ff00"); 
            $("#uri").css("background", "#00ff00");
            $("div#message_details").show();
            log("***Connection Opened***");
          };
        });

        // Send websocket message function
        $("#send").click(function(evt) {
            log("Sending Message: "+$("#message").val());
            ws.send($("#message").val());
        });

      });
    </script>
  </head>

  <body>
    <h1>WebSockets Hello World</h1>
    <div id="connection_details">
      <label for="host">host:</label>
      <input type="text" id="host" value="localhost" style="background:#ff0000;"/><br />
      <label for="port">port:</label>
      <input type="text" id="port" value="8888" style="background:#ff0000;"/><br />
      <label for="uri">uri:</label>
      <input type="text" id="uri" value="/ws" style="background:#ff0000;"/><br />
      <input type="submit" id="open" value="open" />
    </div>
    <div id="message_details">
        </br></br>
        <label for="message">message:</label>
        <input type="text" id="message" value="Hello World!"/><br />
        <input type="submit" id="send" value="send" />
    </div>
    <div id="terminal">

    </div>
  </body>
</html>
헨리 히스

write_message여러 번 전화 수 있습니다 .

예 :

def on_message(self, message):
    self.write_message("Message one")
    self.write_message("Message two")

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

tornado 라이브러리를 사용하는 동안 특정 응답에 대한 요청을 찾는 방법은 무엇입니까?

분류에서Dev

libcurl은 여러 동시 요청에 대해 하나의 연결을 사용합니다.

분류에서Dev

elasticsearch : should 컨테이너에있는 여러 용어 요청을 하나의 고유 한 요청으로 대체

분류에서Dev

Gatling / Scala의 이전 요청에서 여러 응답 일치에 대해 루프

분류에서Dev

요청에 대한 응답으로 401을 반환하는 Cloudfront

분류에서Dev

특정 텀블러 응답을 어떻게 요청하나요?

분류에서Dev

NodeJS-여러 요청을 보내고 하나의 콜백으로 모든 응답을 처리합니다.

분류에서Dev

jsf에서 서버의 지연된 응답에 대해 클라이언트 요청을 유지하는 방법

분류에서Dev

하나의 프로젝트에 대해 여러 개의 pull 요청을하려면 어떻게해야합니까?

분류에서Dev

하나의 파일에 대해 'cat'을 여러 번 호출

분류에서Dev

GitHub를 사용하여 모든 커밋에 대해 하나의 pull 요청을 수행해야합니까?

분류에서Dev

동일한 해시 키에 여러 값을 푸시하는 방법

분류에서Dev

Kotlin의 여러 항목에 대해 비동기 적으로 네트워크 요청을 수행하려면 어떻게하나요?

분류에서Dev

gzip 응답을 처리하는 HttpClient [Java]에 대해 약간 혼란 스러움

분류에서Dev

여러 응답을 동시에 확인하는 방법

분류에서Dev

여러 개체에 대해 하나의 개체 풀을 사용하는 방법

분류에서Dev

POST 요청에 대해 PHP에서 응답을받는 방법

분류에서Dev

Jmeter에서 json을 디코딩하고 다른 요청에 대해 하나의 응답 변수를 사용합니다.

분류에서Dev

Tornado 애플리케이션에서 여러 요청을받는 방법

분류에서Dev

json 요청에 대한 응답 내용을 확인 하시겠습니까?

분류에서Dev

Laravel Airlock은 인증되지 않은 웹 및 API 요청에 대해 다른 응답을 반환하는 방법

분류에서Dev

이상한 응답을 반환하는 Stack Overflow API에 대한 요청

분류에서Dev

hbase는 하나의 키에 대해 여러 값을 저장합니다.

분류에서Dev

ngFor의 모든 요소에 대해 하나씩 여러 모달을 처리하는 방법

분류에서Dev

Authenticator는 요청을 평가하고 fidoStatus 특성을 통해 알림을 전송하여 응답합니다.

분류에서Dev

scapy를 사용하여 하나의 패킷에 대해 두 가지 응답을 받으려면 어떻게해야합니까?

분류에서Dev

e GET 요청에 대한 JSON 응답의 여러 항목 인쇄

분류에서Dev

Android Gradle 플러그인을 사용하여 앱의 출시 버전에 대해 테스트 할 수 있나요?

분류에서Dev

Spring Integration DSL을 사용하여 rabbitMQ 응답 큐에서 응답이 올 때 HTTP 요청 / 응답을 구현하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    tornado 라이브러리를 사용하는 동안 특정 응답에 대한 요청을 찾는 방법은 무엇입니까?

  2. 2

    libcurl은 여러 동시 요청에 대해 하나의 연결을 사용합니다.

  3. 3

    elasticsearch : should 컨테이너에있는 여러 용어 요청을 하나의 고유 한 요청으로 대체

  4. 4

    Gatling / Scala의 이전 요청에서 여러 응답 일치에 대해 루프

  5. 5

    요청에 대한 응답으로 401을 반환하는 Cloudfront

  6. 6

    특정 텀블러 응답을 어떻게 요청하나요?

  7. 7

    NodeJS-여러 요청을 보내고 하나의 콜백으로 모든 응답을 처리합니다.

  8. 8

    jsf에서 서버의 지연된 응답에 대해 클라이언트 요청을 유지하는 방법

  9. 9

    하나의 프로젝트에 대해 여러 개의 pull 요청을하려면 어떻게해야합니까?

  10. 10

    하나의 파일에 대해 'cat'을 여러 번 호출

  11. 11

    GitHub를 사용하여 모든 커밋에 대해 하나의 pull 요청을 수행해야합니까?

  12. 12

    동일한 해시 키에 여러 값을 푸시하는 방법

  13. 13

    Kotlin의 여러 항목에 대해 비동기 적으로 네트워크 요청을 수행하려면 어떻게하나요?

  14. 14

    gzip 응답을 처리하는 HttpClient [Java]에 대해 약간 혼란 스러움

  15. 15

    여러 응답을 동시에 확인하는 방법

  16. 16

    여러 개체에 대해 하나의 개체 풀을 사용하는 방법

  17. 17

    POST 요청에 대해 PHP에서 응답을받는 방법

  18. 18

    Jmeter에서 json을 디코딩하고 다른 요청에 대해 하나의 응답 변수를 사용합니다.

  19. 19

    Tornado 애플리케이션에서 여러 요청을받는 방법

  20. 20

    json 요청에 대한 응답 내용을 확인 하시겠습니까?

  21. 21

    Laravel Airlock은 인증되지 않은 웹 및 API 요청에 대해 다른 응답을 반환하는 방법

  22. 22

    이상한 응답을 반환하는 Stack Overflow API에 대한 요청

  23. 23

    hbase는 하나의 키에 대해 여러 값을 저장합니다.

  24. 24

    ngFor의 모든 요소에 대해 하나씩 여러 모달을 처리하는 방법

  25. 25

    Authenticator는 요청을 평가하고 fidoStatus 특성을 통해 알림을 전송하여 응답합니다.

  26. 26

    scapy를 사용하여 하나의 패킷에 대해 두 가지 응답을 받으려면 어떻게해야합니까?

  27. 27

    e GET 요청에 대한 JSON 응답의 여러 항목 인쇄

  28. 28

    Android Gradle 플러그인을 사용하여 앱의 출시 버전에 대해 테스트 할 수 있나요?

  29. 29

    Spring Integration DSL을 사용하여 rabbitMQ 응답 큐에서 응답이 올 때 HTTP 요청 / 응답을 구현하는 방법은 무엇입니까?

뜨겁다태그

보관