-5

我打算做一个基于 html 的聊天室。这是一个多用户聊天室,一次聊天的预期用户约为 5k。我最初的想法是,页面聊天将每 5 秒调用一次 javascript ajax 以从聊天室获取最新消息。但是,这在获取消息时会显示所有消息都已在同一时间发送。例如:每 5 秒出现一堵文字墙。为了解决这个问题,我坚持使用服务器生成的时间戳,并让 javascript 调用根据时间戳一个接一个地显示这些消息。

现在问题出在数据库和处理这个问题的服务器上。消息需要保存在数据库中,以便新访问者能够向上滚动并查看过去的聊天记录。现在我开始想象,每 5 秒查询一次数据库的 5k 个用户会杀死一个服务器。

有没有更好的方法来设计基于 html 的实时聊天?它将需要在 php.ini 中。

想到的另一件事是使用 php 作为服务器并利用其套接字功能。但是我不确定如何做到这一点。

4

1 回答 1

2

有一种非常新的技术正在接管互联网的社会幽灵,这正是你所需要的。它被称为网络套接字。很抱歉,我目前无法提供任何链接,但您可以搜索它。如果您不想了解这项新技术的工作原理,或者它看起来太复杂,您可以随时使用 LONG POLLING。但是,如果您决定使用长轮询,请记住某些服务器对打开连接有限制!我希望这个答案对您有所帮助,并祝您在项目中好运!

于 2013-06-02T18:17:33.313 回答