我有一个用 php/mysql 实现的网站,并托管在 hostmonster(共享主机)。
我计划在我的网站中加入聊天功能,使用户能够相互聊天。大约有。我的网站上有 1000 个用户。目前,我已经实现了一个 ajax 策略,它会定期(比如每 4 秒)向服务器发送请求,以获取有关在线用户和消息的 json 响应。
这是发送请求的示例代码:
var timer, delay = 4000;
timer = setInterval(function(){
$.ajax({
type: 'POST',
url: 'update.php?user_id=2',
success: function(html){
$('.chat_messages').append(html);
}
});
}, delay);
但正如我所见,用户数量越多,每 4 秒的请求数越多,Apache 服务器和数据库在传递响应方面的负担也越大。
所以我正在计划一个替代解决方案,它在服务器上没有开销。我听说过很少的服务器,如 APE、Nginx、Node.js、StreamHub,它们使用 COMET/reverse ajax 技术来处理请求,并且对我的目的很有效。
但问题是,我没有权限在我的 hostmonster cpanel 上安装第三方服务器。有没有其他方法,比如 HTML5 网络套接字?
编辑:顺便说一句,如果有可行的解决方案,我也有兴趣在 Java 上重建我的应用程序。