实时应用程序是如何实现的?的WebSockets / PHP

时间:2015-11-18 23:55:11

标签: php websocket

我想创建一个Web应用程序,其中UI实时更新(或接近实时更新)。 UI的数据来自服务器。

我不想使用传统的HTTP请求,我经常向服务器发送请求以获取新数据。我宁愿打开一个连接,让服务器将数据推送到客户端。

我相信这是发布者/订阅者模式。

我听说有人提到zeromqReact并使用Websockets。但是从我看过的所有例子中我都找不到任何关于此的东西。例如,zeromq包含显示服务器和客户端的示例。我是否实现了服务器,然后在UI端使用websockets作为客户端?

如何实现这样的目标?

1 个答案:

答案 0 :(得分:1)

传统的HTTP请求仍然是所有这一切的依然。

您可以拥有常规HTTP请求: - 用户向服务器发送请求 - 服务器响应所述请求

还有 Ajax Polling Ajax Long Polling ,概念类似。

Ajax轮询表示每隔X秒发送一次HTTP请求以查找新信息。 示例:获取部分的新评论。

Ajax Long Polling 类似,但是当您向服务器发送请求时,如果没有准备好提供给客户端的响应,则让连接挂起(在指定的时间段内) )。 如果在此期间有新信息出现,您已经在等待它了。否则,在时间到期后,该过程将重新启动。你不是来回走动,而是发送请求 - 等待,等待 - 无论你是否收到回复,经过一段时间后,你都会重新开始这个过程。

WebSockets 仍然是HTTP请求。 它包括客户端通过打开WebSocket请求到目的地来处理前端的权重。 此连接不会关闭 - 它将来回接收和发送实时信息。 需要对服务器的具体操作和回复进行编程,并在客户端进行回调以确定事情的发生。 使用WebSockets,您可以实时接收和传输,它是双工双向连接。

是的,万一它不清楚。 您设置一个WebSocket服务器,在循环上运行,等待连接。 当它收到一个时,在所述服务器和客户端之间进行类似聊天的通信;需要为服务器响应编程回调的客户端。