实现无刷新聊天室的文章(客户端为linux,windows情况的不同选择)

来源:互联网 发布:淘宝店手机店铺装修 编辑:程序博客网 时间:2024/06/07 20:27

在Linux下测试server---push成功:
test.php
====================================
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<IMG SRC="server.php" HEIGHT=240 WIDTH=320>
<HEAD>
<?
if (ereg("MSIE",$HTTP_SERVER_VARS["HTTP_USER_AGENT"])) {
echo "<META HTTP-EQUIV=/"Refresh/" CONTENT=/"4;/">/n";
}
?>
</HEAD>

</HEAD>

<BODY>
</BODY>
</HTML>
======================================
server.php
======================================
<?
$file = "./1.jpg";
$sep = "gIrLsKiCkAsSiTsAySsOoNaTsHiRt";
if (ereg(".*MSIE.*",$HTTP_SERVER_VARS["HTTP_USER_AGENT"])){
 # If IE, spit out one pic and exit
 header("Cache-Control: no-cache");
 header("Pragma: no-cache");
 header("Content-type: image/jpeg");
 header("Content-size: " . filesize($file));
 readfile($file);
} else {
 # if not IE, give the browser a try
 header("Content-Type: multipart/x-mixed-replace; boundary=$sep");
 print "--$sep/n";
        do {
                print "Content-Type: image/jpeg/n/n";
  readfile($file);
  print "/n--$sep/n";
  flush();
  $mt = filemtime($file);
  do {
   sleep (1);
   # we won't output the same image twice.
   clearstatcache();
  }while ($mt == filemtime($file));
 }while (1);
}
?>
********************************************************************
看实现的效果:
在相应的目录下放两张图片1.jpg,2.jpg轮回着改变图片的名字可以看到执行页面的
图片会发生变化。且屏暮不会刷新。

附上述成功的基础是在linux下,如果要实现在客户端的系统为windows才好。

+++++++++++++++++++++++++++++++++++++

目前大多用的是客户端的拉技术:实现方法有多种,下面一篇不错的文章:
client.htm

<html><head>
<title>Client</title></head>
<script>
var nowHour=0;
var nowHour=0;
function onIdle()
{
iframeHere.innerHTML=
'<iframe src="server.php"></iframe>';
setTimeout("onIdle();",10000);
}
</script>
<body bgcolor="#008080" onLoad="onIdle();">
<center>下面显示服务器的信息
<br>每十秒一次</center>
<span id=msgHere><center>
正在读取服务器的时间。。。
</center></span>
<span id=iframeHere
style="position:absolute;visibility:hidden">
</span>
</body></html>
===================================
server.php
===================================
<html>
<script>
if(self.parent)
if(self.parent.msgHere)
self.parent.msgHere.innerHTML=
'<center>现在服务器上<br>的时间是'+
<?
$now=getdate();
echo $now["hours"];
?>
+'时'+
<?
echo $now["minutes"];
?>
+'分<br>请调节你的机子的时间</center>';
</script>
</html>

原创粉丝点击