是否支持 Web 套接字的原生 PHP?

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

下面是来自 php.net 的 创建套接字引用,但它看起来比 Web Sockets 更低级。

我想使用这个 Web Sockets,如 Caniuse.com中所示,它现在已经在所有新的主流浏览器中实现。

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

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

实际上这个教程有一个断开的到 phpwebsockets 的链接... 这是一个应该使用的库吗?

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

68381 次浏览

就标准的 PHP WebSocket 对象本地可用性而言,没有本地支持。

你需要使用图书馆。

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

参见:

注意: IE10现在是在 Windows8中发布的

另见: Ajax 推送系统

是的,做 PHP + Websocket 非常简单,没有任何第三方库(像常提到的 Ratchet)都是可能的。

这个 文章是一个很好的轻量级示例。(我花了几个小时研究复杂的解决方案,其中包括一些库,直到我发现了这篇有用的、简单的文章)

你可以在这里找到更详细的说明: 如何在 PHP 中创建网络套接字服务器

它使用一个不断运行的 PHP 服务器,从命令行开始,使用 php websockets.php和一个事件循环(类似于 Node.JS 方式)。使用诸如 socket_create等原生 PHP 函数是100% 可能的。