79

寻找 Web Sockets 实现的 Hello World 类型示例:

这是来自 php.net 的Socket Create参考,但这看起来比 Web Sockets 更底层。

我想在caniuse.com上使用这个 Web Sockets,它现在在所有新的主要浏览器中都实现了。

谷歌搜索出现了这个Nets.TutsPlus 站点,我可以在其中使用 JavaScript 示例代码......但我需要知道如何在 PHP 中实现服务器端,而不是 Java、Ruby 或 Node.js,如示例中所示。

PHP Socket Create 是否相关?PHP 本身是否支持 Web Sockets?我想只是在 PHP 实现的正确方向上的一点会有所帮助。

实际上,本教程的 phpwebsockets 链接断开了……这是应该使用的库吗?

Websockets.org有一个测试应用程序,但没有提到 PHP。

4

2 回答 2

51

就原生可用的标准 PHP WebSocket 对象而言,没有原生支持。

您需要使用库。

接下来要考虑的是 WebSocket 服务器如何运行。通常 PHP 在 Apache、Nginx(通过 FastCGI)或 Microsoft IIS(通过 Fast CGI)上运行。对于 Apache 和 IIS,这可能是个问题,因为它并没有真正考虑 WebSockets 等持久连接。我不确定Nginx。这就是为什么大多数 PHP WebSocket 库将构建为独立库以作为它们自己的进程运行的原因。

看:

注意:IE10 现已在 Windows 8 中发布

另见:Ajax 推送系统

于 2012-08-30T20:02:59.457 回答
10

是的,可以非常简单地实现 PHP + Websocket,无需任何第三方库(如 Ratchet,经常提到)。

本文是一个很好的轻量级示例。(我在复杂的解决方案上浪费了几个小时,所有这些解决方案都包括一些库,直到我发现这篇有用、简单的文章)

您可以在此处找到有关此内容的更详细说明:如何在 PHP 中创建 websockets 服务器

它使用一个持续运行的 PHP 服务器,你从命令行开始php websockets.php,带有一个事件循环(类似于 Node.JS 的方式)。100% 可以使用原生 PHP 函数socket_create,例如 等。

于 2021-01-30T23:25:01.737 回答