0

我正在做一个项目,我正在尝试构建一个界面,例如如果用户已登录,并且介于两者之间,如果服务器有该用户的任何消息,那么用户将立即收到通知(如 facebook),所以我正在通过 websockets但我应该从哪里开始感到困惑?请给我一些基本的想法?

我使用 PHP 作为实现语言

我目前正在寻找有关使用 PHP、NodeJS 和 socket.io 的混合实现实时通知的建议。目前我对 Node 和 socket.io 几乎没有做任何事情,所以我对实现这一目标的最佳方法感到茫然。我已经做了一些基本的听力和什么不是但没有什么极端的。

现在我的问题是:

  1. socket.io 如何知道新的通知,PHP 是否应该负责将数据(比如创建了一个帖子)发送到 socket.io 并从那里广播到连接的客户端?
  2. socket.io 如何知道哪些客户端需要通知?

我真的不确定还有什么。目前这对我来说有点多。我只是不知道如何分发通知。

任何建议将不胜感激。我不期待详细的演练,只是朝着正确的方向推进,或者了解它是如何网格化的。

4

1 回答 1

3

从阅读什么是 websockets、它们如何工作、浏览器支持什么开始。互联网上充满了这些信息。

对于 php 实现,请查看http://socketo.me/。PHP 不是最适合套接字通信的。我会将 nodejs+socket.io 和 php 用于“常规内容”。不要害怕混合技术,所有问题都没有锤子。

编辑

如果您不了解 nodejs,那可能会很难,但值得您花时间学习它。

一些想法:

您可以在数据库上创建带有通知的表,然后如果发生某些事件,例如。在此处添加添加记录(例如新帖子的数量和 user_id),然后从 nodejs 端连接到数据库获取数据库并查找当前用户的通知。

然后 nodejs 通知监听客户端有关更改(socket.io)

如果用户评论新帖子更新计数器为 0,(类似于 facebook 在您收到新消息时所做的事情),然后 nodejs 将知道没有新帖子,因此无需通知。

最难的部分是获取当前用户会话。

一些相关的:

http://socket.io/

哪些 MySQL 驱动程序可用于 node.js?

通过 cookie 在 php 和 node.js 之间安全地共享数据

验证 socket.io/nodejs 的用户

Socket IO 发送到指定的用户 ID

于 2012-08-31T06:25:35.060 回答