zoukankan      html  css  js  c++  java
  • ajax轮询 长连接 WebSocket

    ajax轮询:

    客户端在间隔时间内进行不断向服务端发送请求

    长轮询:

    长轮询是指在客户端发起请求,但是服务端没有对应的response,不会返回一个空结果会将请求搁置在有结果时进行返回response(或者的特定的时间返回)

    长连接:

    HTTP/1.0中默认使用的短链接(好多博客这么说)既每一次客户端向服务端发出请求(request),服务端发送(response)给客户端一对一,但是在HTTP/1.1当中默认使用了长连接,用以保持连接特性要使用长连接需要在客户端请求头中加入:Connection:keep-alive,此时客户端请求完成时该请求不会断开,再次请求时还是使用这个请求,但是也是会消失需要服务端软件进行配置,要进行长链接需要客户端以及服务端同时支持。

    WebSocket

    WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯(双向通信)的协议。在客户端向服务端发起请求即可见了长久的链接,并且进行双向的数据传输。

    Websocket使用和 HTTP 相同的 TCP 端口,可以绕过大多数防火墙的限制。默认情况下,Websocket协议使用80端口;运行在TLS之上时,默认使用443端口

    抄的一个例子

     function WebSocketTest()
             {
                if ("WebSocket" in window)
                {
                   alert("您的浏览器支持 WebSocket!");
                   
                   // 打开一个 web socket
                   var ws = new WebSocket("ws://localhost:9998/echo");
    				
                   ws.onopen = function()
                   {
                      // Web Socket 已连接上,使用 send() 方法发送数据
                      ws.send("发送数据");
                      alert("数据发送中...");
                   };
    				
                   ws.onmessage = function (evt) 
                   { 
                      var received_msg = evt.data;
                      alert("数据已接收...");
                   };
    				
                   ws.onclose = function()
                   { 
                      // 关闭 websocket
                      alert("连接已关闭..."); 
                   };
                }
                
                else
                {
                   // 浏览器不支持 WebSocket
                   alert("您的浏览器不支持 WebSocket!");
                }
             }
          </script>
  • 相关阅读:
    异常处理
    添加headers头文件反爬虫
    爬百思不得姐的视频(爬多页时for的循环)
    图片爬取百思不得姐(正则的取法,下载的方法,%s的用法)
    创建一个网页
    集合幂级数总结
    题解(新)
    JOI汉堡肉
    NOIO 2020 r2 总结
    长链剖分
  • 原文地址:https://www.cnblogs.com/zhangweihu/p/7122514.html
Copyright © 2011-2022 走看看