PHP:Web套接字和html 5


PHP:Web Sockets and html 5

我正在做一个项目,我正在尝试构建一个界面,比如如果用户登录了,并且在两者之间,如果服务器有任何消息给该用户,那么用户会立即收到通知(就像facebook一样),所以我正在浏览websocket,但不知道从哪里开始?请给我一些基本的想法?

我使用PHP作为实现的语言

目前,我正在寻求有关使用PHP、NodeJS和socket.io实现实时通知的建议。目前,我对Node和socket.io几乎什么都没做,所以我不知道实现这一点的最佳方法。我做了一些基本的倾听,但没有什么极端的。

目前我的问题是:

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

我真的不知道还有什么。目前这一切对我来说都有点过分。我只是不知道通知将如何分发。

如有任何建议,我们将不胜感激。我不希望有详细的介绍,只希望有一个正确的方向,或者了解它是如何啮合的。

从了解什么是websocket开始,它们是如何工作的,浏览器支持什么。互联网上充斥着这些信息。

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

编辑

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

一些想法:

您可以在数据库上创建带有通知的表,然后如果一些事件acccurs,例如post added在那里添加记录(如新帖子的数量和user_id),则从nodejs端连接到数据库fetch数据库,并查找当前用户的通知。

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

如果用户评论的新帖子更新计数器为0(类似于facebook在你有新消息时所做的事情),那么nodejs就会知道没有新帖子,所以没有什么可通知的。

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

一些相关:

http://socket.io/

node.js有哪些MySQL驱动程序?

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

对socket.io/nodejs 的用户进行身份验证

套接字IO发送到指定的用户ID