zoukankan      html  css  js  c++  java
  • 服务器推送

    服务器推送

    1. ajax 轮询 不建议
    2. websocket 多用于双方复杂数据通讯
    3. sse (server send event) 服务器主动推送
    • h5 新标准
    • 本质是保持一个 http 长连接,轻量级协议

    sse 使用

    • html 端
    <body>
    <script>
        var source = new EventSource("http://127.0.0.1:8080/sse/getInfo");
        source.onmessage = function (ev) {
            console.log(ev.data);
        }
    </script>
    </body>
    
    • server 端
      • 注意 返回的数据格式必须为下面这种格式,"data:"+你的数据+" "; "data"还有其他的格式, “data”, “event”, “id”,“retry”
      @RestController
      @RequestMapping("/sse")
      public class SSEController {
          @CrossOrigin
          @RequestMapping(value = "/getInfo", produces = "text/event-stream;charset=UTF-8")
          public String push(){
              try {
                  TimeUnit.SECONDS.sleep(1);
              } catch (InterruptedException e) {
                  e.printStackTrace();
              }
              // 返回的数据格式必须为下面这种格式,"data:"+你的数据+"
      
      ";  "data"还有其他的格式, “data”, “event”, “id”, “retry”
              // 不然onmessage方法无法执行。
              return "data:pushing: " + String.valueOf(System.currentTimeMillis()) + "
      
      ";
          }
      }
      
      
  • 相关阅读:
    Python下载安装
    批量修改样式及全选反选
    小99
    练习题
    练习
    对象、函数
    操作document对象练习
    练习题
    0513-2
    0513-1
  • 原文地址:https://www.cnblogs.com/scp-166/p/11942157.html
Copyright © 2011-2022 走看看