长连接技术(Long Polling)

Posted BurningChen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了长连接技术(Long Polling)相关的知识,希望对你有一定的参考价值。

在服务器端hold住一个连接, 不立即返回, 直到有数据才返回, 这就是长连接技术的原理 

长连接技术的关键在于hold住一个HTTP请求, 直到有新数据时才响应请求, 然后客户端再次自动发起长连接请求.

那怎么样hold住一个请求呢?服务器端的代码可能看起来像这样的

 

<?php
set_time_limit(0);  //这句很重要, 不至于运行超时
while (true) {
    if (hasNewMessage()) {
        echo json_encode(getNewMessage());
        break;
    }
    usleep(100000);      //避免太过频繁的查询
}

 

以上是关于长连接技术(Long Polling)的主要内容,如果未能解决你的问题,请参考以下文章

Web 通信 之 长连接长轮询(long polling)(转载)

Web 通信 之 长连接长轮询(long polling)

长轮询(long polling)

用大白话揭开Ajax长轮询(long polling)的神秘面纱

HTTP Polling, Long Polling, HTTP Streaming and WebSockets

HttpWebRequest怎么长连接