本来是希望通过comet配合php实现短消息功能的。
原本是觉得每隔几秒像服务器发送一次请求很消耗服务器的性能。
参考了下comet的做法,发现php实现效果不理想。
实现的代码:
while ($currentmodif usleep(10000); clearstatcache(); $currentmodif = filemtime($filename); }
这是在判断文件是否有更新,如果没有更新则一直while不echo,所以客户端一直“长连接”状态中。
直到有新的东西,服务端才flush给客户端。
减少了请求的次数,其实是减轻服务器的负担。
但是PHP的同时连接数是有限制的,这点没有Erlang语言好。因为 Erlang可以支持超大量级的并发线程。
(若以后有兴趣给部门一些网站提供“在线会员点对点聊天”的话,可以考虑comet+erlang组合实现,其实也很简单)
发表回复