一尘不染

编写聊天应用程序

node.js

我想知道为数千名用户编写聊天应用程序的正确方法是什么。

我只是感到困惑,我如何才能每秒使用AJAX或更少的方法来对服务器执行ping操作,并检查MySQL中是否有新记录等,并且服务器负载可以接受。

我目前正在考虑使用jQuery,PHP和MySQL进行编码。

请指教。您的帮助将不胜感激。


阅读 186

收藏
2020-07-07

共1个答案

一尘不染

客户端

对于需要轮询服务器的任何程序,我建议使用WebSockets

我写了一个非常基础的WebSocket教程。我还使用了web-socket-js代码来实现FlashSocket,从而使其可在Firefox,IE
8+和Chrome以及支持WebSockets的任何浏览器上运行。

我认为轮询不是聊天应用程序的理想选择。尽管可以工作,但与使用WebSocket相比,请求开销会高得多。折衷(好处)是更多的浏览器支持它。

同样,点击一个MySQL数据库以查看是否有消息将导致大量的数据库开销。我建议使用MySQL数据库作为聊天记录,并且只保留有限数量的“后退”消息用于新连接。然后,只需向所有连接的客户端广播新消息即可。然后,前端应用程序将获取消息并将其附加到聊天窗口。

服务器端

Node.js是一个有事件的服务器端JavaScript框架。虽然它还很年轻,但是其中已经编写了一些非常有趣的应用程序。Node.js人员设置了一个聊天程序(不是WebSockets),该聊天程序的源代码已经可用。如果不想从头开始编写,那将是一个很好的起点。

有一个PHP
WebSocket
实现。根据您的要求,可以使用它。在使用Node.js和PHP进行编码后,我想我认为Node.js更适合于此。

2020-07-07