我需要做一个实时聊天系统(具有多个用户频道,用户权限,并且必须包含在一个站点中并使用该数据库中的帐户)所以我想到了这个解决方案:在预定义的时间(如 1 秒)进行 ajax 请求,长轮询或irc。
优点和缺点将是:
AJAX 优势:
- 易于实施
- East 检查站点用户的权限,授予权限,设置频道,从数据库中访问我需要的一切
缺点:
- 默认插入滞后
- 杀死可怜的服务器
- 只能在指定页面使用(不存在外站客户端)
长轮询:
- 不会杀死服务器
更少的延迟
只能在指定页面使用(不存在外站客户端)
- 更难实施
国税局:
- 不会淹没服务器
- 没有滞后
用户可以设置客户端并从外部站点访问聊天
不知道如何与我的数据库通信,因此我可以根据我的数据创建通道并授予权限
由于多个 ajax 请求淹没了服务器,我无法使用它。那么在长轮询和 IRC 之间,你认为应该使用什么更好?
如果是长轮询,您能否指出一个好的参考(我过去使用过 ape - ape-project.org,但我对其稳定性感到失望)?
如果是 IRC,您能否指出一个参考,该参考显示如何创建与我的数据库(mysql)的连接并将新登录的用户放入所需的频道?例如,如果在我的数据库中有一个类似名称的条目:Gogu,职业:杀手;当 Gogu 连接时,我需要将他放入“杀手”频道。