博客列表 >php长连接

php长连接

krasenChen的博客
krasenChen的博客原创
2018年09月03日 18:14:061654浏览

//在服务器端hold住一个连接,不立即返回,直到有数据才返回。

//key_point :hold住一个HTTP请求,直到有新数据时才响应请求,然后C端再次自动发动长连接请求

//how to do  service  服务器端看起来像这样子

set_time_limit(0);         //这句很重要,不至于运行超时

while(true) {

    if (hasNewMessage()) {

    echo json_encode(getNewMessage()) ;

    break;

}

    usleep(100000);          //避免太过于频繁的查询

}

//从上面就看到是通过循环来实现hold住一个请求,不至于立即返回。查询到有新数据后才响应请求,然后C端处理数据后

//再次发起长连接请求

//how to do client C端

<script type="text/javascript">

     (function longPolling() {

    $.ajax ({

    'url':   'server.php',

    'data':  data,

    'dataType': 'json',

     'success': function(data) {

     processData(data);

    longPolling();

},

    'error': function(data) {

      longPolling();  

},

});

}) ();


</script>

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议