如何在我的服务器中实现Websocket(RFC 6455)


How to implement Websocket (RFC 6455) in my server?

我在谷歌上搜索过它,在stackoverflow中有一些关于它的问题。问题是它们中的许多都是旧的,所以我猜它们使用的是旧的、不推荐使用的协议,而不是RFC 6455。我不知道是因为这个,还是我做错了什么,但当我尝试时,它并不起作用。

所以。。。

  1. 如果我理解得很好,我可以用合适的客户端(Javascript)和服务器(PHP)代码实现Websockets,而无需配置Apache服务器。我是对的?

  2. 为什么我找到的所有例子都要求我去命令行进行

    php-q C:''path''to''file''Websocket''Server.php

  3. 在我发现的实现中,有一个默认的服务器和端口。我必须将它们更改为我用于普通网页的服务器(localhost)和端口吗?或者我应该告诉我的服务器监听另一个端口并使用它进行websocket通信吗?

  4. 在哪里可以找到Websockets(RFC 6455)的良好PHP实现?

  1. 是的,这是正确的。

  2. 因为Websocket服务器不使用您的web守护进程来提供数据。在这种情况下,您将完全用PHP编写一个服务器守护进程。

  3. 您需要选择一个端口,因为您没有使用web守护进程来为您的websocket提供服务。任何未使用的端口都可以。

  4. 试试Ratchet(这里的主要站点)。我们已经在生产中使用dev-master分支几个月了,我们没有遇到任何问题。这是我们发现的唯一一个开箱即用的解决方案,适用于Firefox客户端和iPhone。