首页 > php教程 > PHP源码 > 正文

COMET基于HTTP长连接的推送

PHP中文网
发布: 2016-05-25 17:05:28
原创
1250人浏览过

comet基于http长连接的推送
比如web  im 消息比轮询即时。减轻服务器压力。减少tcp三次握手的次数

1. [文件]     comnet.php 

<?php

/*
Simple COMET script tested to work with IE6, IE8, IE9, Chrome 5, Chrome 10, Firefox 3.6.16, Firefox 4, Safari 5, Opera 11
*/

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

//Turn of Apache output compression
// Necessary if you have gzip setup in your httpd.conf (e.g. LoadModule deflate_module modules/mod_deflate.so)
apache_setenv('no-gzip', 1);
ini_set('zlib.output_compression', 0);

//Disable all PHP output buffering
ini_set('output_buffering', 'Off');
ini_set('implicit_flush', 1);
ob_implicit_flush(1);

for ($i = 0, $level = ob_get_level(); $i < $level; $i++) { ob_end_flush(); } //Flush all levels of the buffer to start

error_reporting(E_ALL);

?><html>
<head>
  <title>Comet php backend</title>
</head>
<body>
<script type="text/javascript">
	var dumpText = window.parent.dumpText;
</script>
<?php

$startTime = time();
$maxLoopTime = 100;

while(time()-$startTime < $maxLoopTime) {

	echo '<script type="text/javascript">';
	echo "dumpText(".time().');'.str_repeat(' ',500); //500 characters of padding
	echo "</script>\r\n";

	flush();

  	$randSleep = mt_rand(100000, 2000000); //sleep between 100 ms and 2 seconds
	usleep($randSleep);
}

?>
<script type="text/javascript">dumpText("Output Finished");location.reload();</script>
</body>
</html>
登录后复制

2. [文件]     in.php 

                           

<html>
<head>
	<title>Comet demo</title>
	<style type="text/css">
    	.hiddenIframe {
    		position:absolute;
    		top:0px;
    		left:0px;
    		display:block;
    		z-index:-999;
    		visibility:hidden;
		}
	</style>
</head>
<body>
<p id="content">The server time will be shown here</p>
<script type="text/javascript">

	var content = document.getElementById('content');
	var dumpText = function(text){
		content.innerHTML = content.innerHTML + '<BR>'+ text;
	}
</script>
<iframe src="comnet.php"></iframe>
</body>
</html>
登录后复制

                               

DeepBrain
DeepBrain

AI视频生成工具,ChatGPT +生成式视频AI =你可以制作伟大的视频!

DeepBrain 108
查看详情 DeepBrain

                   

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号