轮询:说白了就是客户端定时去请求服务端,  是客户端主动请求来促使数据更新;

长轮询:说白了 也是客户端请求服务端,但是服务端并不是即时返回,而是当有内容更新的时候才返回内容给客户端,从流程上讲,可以理解为服务器向客户端推送内容;

 

从中大家可以看出区别:

轮询:

1:大量耗费服务器内存和宽带资源,因为不停的请求服务器,很多时候 并没有新的数据更新,因此绝大部分请求都是无效请求

2:数据不一定是实时更新,要看设定的请求间隔,基本会有延迟。

 

长轮询:

1:解决了轮询的两个大问题,数据实时更新;

2:唯一的缺点是服务器在挂起的时候比较耗内存;

总体而言,比轮询进步了一大大大步

 

废话不多说,上代码(最简单的小例子)

客户端

<body>
    <label ></label>
    <br />
    <label ></label>
    <script>
        $(function () {
           //长轮询,请求服务端,等到响应了,再次请求
            var SendLongPolling = function () {
                $.get("../Home/LongPolling", function (data) {
                    debugger;
                    $("#lbLongPolling").html("长轮询:" + data);
                    SendLongPolling();
                });
            };
            SendLongPolling();


            //轮询,不管三七21,每隔1秒就请求一次
            setInterval(function () {
                debugger;
                $.get("../Home/NoLongPolling", function (data) {
                    debugger;
                    $("#lbNoLongPolling").html("轮询:" + new Date().toLocaleString());
                });
            }, 1000);
        })
    </script>
</body>
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-17
  • 2021-10-13
  • 2022-02-02
  • 2021-09-26
相关资源
相似解决方案