关于PHP-Push技术

好大的太阳447

好大的太阳447

2016-01-29 18:51

关于PHP-Push技术,关于PHP-Push技术
Powered by lguser@163.net
  转摘请保留,呵呵

  Server push 前一段时间炒得很热的“推”技术,不过网上大部分都是cgi的资料,偶尔看到一个法国的网站上有这么个介绍,可惜法语看不懂,只能从他的程序中看懂点东西,现整理个例子出来大家学习一下。可以用于聊天室的数据传输、网站上的新闻更新、等等各类更新频繁的页面。当然linuxaid的左边短信息也可以处理啦。

  以前做刷新主要通过页面上加标签


  < META HTTP-EQUIV=REFRESH CONTENT="time;URL=url" >



  或者使用javascript的timeout+reload,不过这种刷新的方法取决于时间的设定,无法连续的数据传输且时间不好确定。采用了Server push的服务器在客户机做出一个请求后,和客户机建立一个永久的连接,然后服务器会根据客户机的请求不断地把数据包推向服务器。那些你觉察不到的延迟会让你觉得服务器的响应和你的请求已经达到了同步的程度。

  现在先来看一下例子再解释。


  /DownloadFilesa2002-01-29img.php
  < ?php
    set_time_limit(0);
    $file = "./1.jpg";
    $sep = "gIrLsKiCkAsSiTsAySsOoNaTsHiRt";
  if(ereg(".*MSIE.*",$HTTP_SERVER_VARS["HTTP_USER_AGENT"])){
  //如果是ie浏览器,直接输出就退出,IE的不支持哦,我没试出来过
    header("Cache-Control: no-cache");
    header("Pragma: no-cache");
    header("Content-type: image/jpeg");
    header("Content-size: " . filesize($file));

    readfile($file);
  }else{
    header("Content-Type: multipart/x-mixed-replace; boundary=$sep");
  //这里是关键哦,看看MIME类型说明

  //你会明白
  print "--$sep
";
  do{
    print "Content-Type: image/jpeg

";
    readfile($file);
    print "
--$sep
";
    flush();
    $mt = filemtime($file);
    do{
      sleep (1);
      clearstatcache();
     }while($mt == filemtime($file));
  }while(1);
}
? >



  好了,这就是一个永久执行的页面(网络不断的情况下),不断输出图片的内容,下面是调用的页面。 < img src="http://img.jcwcn.com/attachment/portal"");

  看完这个例子,应该知道怎么处理不断更新的内容了,关键在/DownloadFilesa2002-01-29img.php页面中的处理(可以是检查新的内容并输出),调用的时候可以有img、script、frame等等。详细的其他使用方面请查看:


  http://www.npds.org/  应该是法语吧,呵呵。我没学过哦。
展开更多 50%)
分享

猜你喜欢

关于PHP-Push技术

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
关于PHP-Push技术

php-push技术实现刷新功能

PHP
php-push技术实现刷新功能

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

push 方法

编程语言 网络编程
push 方法

PHP聊天室技术

PHP
PHP聊天室技术

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

PHP SOCKET 技术研究

PHP
PHP SOCKET 技术研究

关于PHP接口的学习

Web开发
关于PHP接口的学习

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

通过制作引导软盘安装红旗

通过制作引导软盘安装红旗

ASP中取得图片宽度和高度的类(无组件)

ASP中取得图片宽度和高度的类(无组件)
下拉加载更多内容 ↓