Example analysis of how to implement ajax long polling in php

黄舟
Release: 2023-03-14 20:28:02
Original
2298 people have browsed it

In the traditional AJAX polling method, the client queries the server for the latest data at user-defined intervals. This method of pulling data requires a short time interval to ensure the accuracy of the data. However, if the time interval is too short, the customer service side will send multiple requests to the server in a short period of time.

Reverse AJAX, which is the so-called long polling or COMET. The server and client need to maintain a long-term request, which allows the server to return messages to the client when it has data.

Here we use AJAX to request the data.PHP page to obtain the value of 'success', and the request time reaches 80 seconds. If no 'success' is returned from the server during these 80 seconds, the connection status will remain until data is returned or the value of 'success' is 0 before the connection is closed. After closing the connection, continue the next request.

index.html

      
      
      
          
          
    

Copy after login

This is an infinite loop. The end condition of the loop is to obtain the return result and return Json data.

And accepts the $_POST[‘time’] parameter to limit the loop timeout to avoid excessive waste of resources. (The browser will not send a message to the server when it is closed, and the use may continue in a loop)

data.php

    "1",'name'=>'xiaoyu','text'=>$rand);        
                echo json_encode($arr);        
                exit();        
            }        

            //服务器($_POST['time']*0.5)秒后告诉客服端无数据        
            if($i==$_POST['time']){        
                $arr=array('success'=>"0",'name'=>'xiaoyu','text'=>$rand);        
                echo json_encode($arr);        
                exit();        
            }        
        }     
    ?>
Copy after login

Operation effect: In the picture, you can see that the request time without data reaches 40S , if data is obtained in the 40S request, the request is closed. After closing, continue with the next request!

Example analysis of how to implement ajax long polling in php

Example analysis of how to implement ajax long polling in php

The above is the detailed content of Example analysis of how to implement ajax long polling in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!