Rumah > pembangunan bahagian belakang > tutorial php > php 服务器推送有关问题

php 服务器推送有关问题

WBOY
Lepaskan: 2016-06-13 10:07:11
asal
828 orang telah melayarinya

php 服务器推送问题。
现在准备做个聊天的功能,在网上看了下,说用 推技术啊。
但是不懂。用ajax 轮询的话 效率很低啊。。。

------解决方案--------------------

探讨
额。。。我始终觉得 ajax 长轮询的话 服务器压力很大啊。
如果用户多了就 。。

------解决方案--------------------
人少的时候,ajax轮循明显浪费资源,没新的聊天信息却在那边一直查啊查的。
人多的时候,comet建了比较多的长连接,估计有点难承受,主要是服务器那边的优化了。



这边是简单的例子……只是讲讲原理……
前端是普通的ajax,后端是死循环

HTML code
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div id="test"></div><script type="text/javascript">function test(){    var aj;    try{aj=new ActiveXObject("Msxml2.XMLHTTP");}    catch(e){        try{aj=new ActiveXObject("Microsoft.XMLHTTP");}        catch(E){aj=false;}    }    var time = Math.round(new Date().getTime() / 1000);    if(!aj&&typeof XMLHttpRequest!=undefined)aj=new XMLHttpRequest();    aj.open("GET","b.php?time="+time,true);    aj.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=utf-8');    aj.onreadystatechange=function(){        if(aj.readyState==4&&aj.status==200){            document.getElementById("test").innerHTML += aj.responseText;            test(); // 收到结果后重新建立连接        }    }    aj.send(null);}test();</script><div class="clear">
                 
              
              
        
            </div>
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan