我用 socket.io 创建了一个简单的聊天。我决定继续创建 Facebook 之类的聊天。问题:
- 每个用户都有自己的在线好友以及如何向用户展示自己的在线好友
- 如何以及在何处存储用户及其消息
- 如果某个用户的朋友断开连接,则更新某个用户的好友列表
- 如何仅向特定人的朋友(而不是所有连接的用户)发出事件
您可以检查这些插件的 jquery 和 pusher(用于推送通知的 api)。它将帮助您完成一些客户端工作,只需阅读代码即可。它将帮助您制作自己的。
除非您只是将其作为对自己的练习,否则我会说您使构建所有这些变得太困难或您自己(而且您甚至没有解决这里最重要的问题:当整个事情不再适合一台服务器)。
我想说,安装众多 XMPP 服务器之一,为您解决所有这些问题。
如果您只是为了练习而这样做,我仍然会说,看看 XMPP。它具有发送消息的标准(对于 1 和 3)。2:只需将它们存储在某个数据库中。如果您每秒有超过 50 个数据库写入操作,请为一些主要的数据库问题做好准备。对于 4:如果您想向他们发送断开连接,只需遍历某个用户的所有在线朋友。