WEB SOCKET PHP 概念

Posted

技术标签:

【中文标题】WEB SOCKET PHP 概念【英文标题】:WEB SOCKET PHP concept 【发布时间】:2016-10-15 09:16:09 【问题描述】:

我想在我的服务器和客户端(android 应用程序)之间保持持久连接,以便我可以将数据从服务器推送到我的客户端。经过一番搜索,我发现最好的方法是WEB SOCKET。但是这里有两种情况:

首先,我需要向我的一些客户(不是全部)发送一些数据(命令),例如广播,然后听取他们的回复。其次,我需要向一些客户发送通知。

就像聊天室,有一个普通房间,房间里的每个人都可以看到消息,而一些私人房间只有两个参与聊天的用户才能看到消息。

我看到了一些示例代码,但我无法理解这两个场景在代码中的区别。我还需要一些有关 ZeroMQ 的信息,是否值得在项目中使用 ZeroMQ?

仅提供一些参考链接将不胜感激。

编辑

我在代码中看到人们定义了一些无限循环来检查某些事件,但我的想法是在服务器中创建一个可以由其他函数调用的虚拟客户端,因此我不需要更改数据库中的任何内容然后检查事件在我的循环中。该事件可以调用这个可以广播发送我的命令的虚拟客户端。这是一个正确的方法吗?

【问题讨论】:

【参考方案1】:

为此请使用Ratchet,它是一个 php 库,为开发人员提供了通过 WebSockets 在客户端和服务器之间创建实时、双向应用程序的工具。

您可以使用它的订阅/取消订阅(主题)功能,这将满足您向一般用户和特定用户发送推送通知的需求。为他们创建不同的主题。

例如一个主题是通用的,每个用户都会在页面加载时注册,一个主题是针对特定用户的。您可以根据需要创建任意数量的主题。

【讨论】:

你能给我一些参考,以便我理解这些连接的概念吗?

以上是关于WEB SOCKET PHP 概念的主要内容,如果未能解决你的问题,请参考以下文章

PHP与socket编程

socket基本概念

PHP实现简单的socket与异步应用

Web基本概念

Java web的基本概念

No.28TCP&UDP