gpt4 book ai didi

PHP:Websocket 和 html5

转载 作者:行者123 更新时间:2023-11-28 20:52:25 24 4
gpt4 key购买 nike

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

我使用 PHP 作为实现语言

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

现在我的问题是:

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

我真的不知道还有什么。目前这对我来说有点太多了。我只是无法理解如何分发通知。

如有任何建议,我们将不胜感激。我不期望详细的演练,只是朝着正确的方向插入或了解如何结合起来。

最佳答案

首先阅读什么是 websockets、它们如何工作、浏览器支持哪些内容。互联网上充斥着这些信息。

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

编辑:

如果你不了解 Nodejs,那么这可能会很难,但值得你花时间去学习。

一些想法:

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

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

如果用户评论新帖子,则计数器更新为 0(类似于 Facebook 在有新消息时所做的操作),然后 NodeJS 就会知道没有新帖子,因此无需通知。

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

一些相关:

http://socket.io/

What MySQL drivers are available for node.js?

Sharing data between php and node.js via cookie securely

Authenticate user for socket.io/nodejs

Socket IO send to specified user ID

关于PHP:Websocket 和 html5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12209807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com