nterval('location.reload()',4000);">
</body>
=======================================
"form"页面:
====================
<?php
session_start();
if (!isset($timestamp)) {
$timestamp=0;
}
// 显示表单,产生"timestamp"变量.
if (isset($msg)) {
$dab=mysql_connect("localhost","root","seldon");
mysql_select_db("testbase",$dab);
$query="insert into testeable(timestamp,message) values(now(),'$msg')";
mysql_query($query,$dab);
// 得到timestamp 后的所有消息
$query="select * from testeable where timestamp>'$tt'";
$result=mysql_query($query,$dab);
$msgs=array();$i=0;$timestamp=0;
while($res=mysql_fetch_array($result)) {
$msgs[]=$res["message"];
if($res["timestamp"]>$timestamp) {
$tt=$res["timestamp"];
}
}
session_register("timestamp");
?>
<script>
<?php
for($i=0;$i<$count($msgs);$i++) {
?>
top.lines[top.lines.length]="<?print("$msgs[$i]");?>";
<?php
}
?>
top.display.location.reload(); //刷新"display"页
</script>
<?php
}
?>
<form name="foo" action="<?php print("$PHP_SELF"); ?>" method="post">
Message:<input type="text" name="msg">
<input type="submit" name="newmsg" value="send">
</form>
=====================================================
注:我们使得在"form"页提交发言时,马上刷新"display"页面,这可以达到对发言人来说马上发言马上
显示,更体现实时性。
正如您所看到的,这个聊天室很简单,这就是最小化客户/服务(C/S)数据传输技能,使用这个技术您可以达到最
小的数据传输,再次提醒您:该技术并不是这用于聊天室!
=======================================================
以上在win98+apache1.3+php4.03平台测试通过!
上一页 [1] [2]