1

我需要实现一个实时聊天系统,有点类似于 Facebook 的,因为它必须:

  • 允许 2 个用户之间的通信
  • 将消息存储在收件箱/已发送箱中
  • 将消息存储在收件箱中,如果用户在发送消息时离线,则标记为未读
  • 语言/垃圾邮件过滤器也必须处于活动状态,因为需要监控涉及未成年人的通信。
  • 理想情况下,这将适用于大多数设备/浏览器,包括移动访问。

就要使用的操作系统/软件而言,我几乎为这个项目准备了一块空白画布。

做了一些研究后,似乎有一些选择/事情需要考虑?

  • PHP/AJAX 长轮询(彗星风格),带有标准 LAMP 堆栈,将消息存储在 mysql 数据库中
  • LEMP 堆栈 (nginx) 使用 HTTP 推送模块,同样是彗星式服务器,带有 php 后端将消息存储在 mysql 数据库中
  • 节点.js?
  • 维护浏览器/设备支持的 HTML5 界面?
  • 最好的数据库系统?有人建议使用 mongoDB?
  • 有些人还建议使用 MemCacheQ 来提高性能。

你对此有什么想法?有什么建议么?

4

2 回答 2

2

查看 SignalR 作为在客户端之间传递消息的方式,它是创建聊天应用程序的最简单方法。

于 2013-05-26T23:00:06.327 回答
2

这听起来像是 MEAN 堆栈(MongoDB、Express.js、Angular.js、Node.js)与 socket.io 或 lightstreamer 结合起来擅长的事情。Lightstreamer 据说比 socket.io 更快且更具可扩展性(他们的现场演示并不让我怀疑),它在他们的文档中也有一个页面讨论 PhoneGap(他们处理不支持 WebSockets 的手机......这是有用,因为据我了解,大多数手机不支持 WebSockets)

虽然这不是我的专业领域,但可能值得研究。

于 2014-07-23T07:25:27.593 回答