Php websocket的服务器端需要什么?

Php websocket的服务器端需要什么?,php,html,sockets,cordova,websocket,Php,Html,Sockets,Cordova,Websocket,我正在使用下面的js插件,它允许我在android和iOS上使用WebSockets和html5编写的应用程序(在我的例子中是通过phonegap) 我还需要什么才能使用websocket 我有一个带有bluehost的基本服务器,安装了PHP和MySQL。。我需要做什么?首先,您可以使用这样一个库: 其次,您的主机必须允许您创建套接字。这意味着PHP必须启用PHP_sockets.dll(Win)或sockets.so(Linux)扩展,并从服务器转发端口。 此外,您还需要从推荐行运行ph

我正在使用下面的js插件,它允许我在android和iOS上使用WebSockets和html5编写的应用程序(在我的例子中是通过phonegap)

我还需要什么才能使用websocket


我有一个带有bluehost的基本服务器,安装了PHP和MySQL。。我需要做什么?

首先,您可以使用这样一个库:

其次,您的主机必须允许您创建套接字。这意味着PHP必须启用PHP_sockets.dll(Win)或sockets.so(Linux)扩展,并从服务器转发端口。 此外,您还需要从推荐行运行php,或者以某种方式使它永远保持活力

这就像在PHP中创建普通套接字一样

*编辑:

  • WebSocket只是一些普通的套接字。在websocket中,您可以连接到正在侦听连接的端点,然后与之通信。就像普通的套接字一样,只是协议上有一些简单的差异,还有更多的限制。为此,您需要一个脚本或应用程序来永远运行并处理来自网页的所有连接。但php文件将在请求结束后立即结束。为了让php文件永远运行,您需要从命令行运行它,这意味着您需要具有shell访问权限,或者您可以使用此代码永远运行php脚本:(但您必须考虑一种只调用一次的机制)

    忽略用户中止(true)

    ini_集('max_execution_time',0)

    设置时间限制(0)

  • 你可以测试。如果您的应用程序失败,并出现错误消息,说明您不知道socket\u connect或socket\u bind之类的函数,那么您就没有php的socket扩展

  • 以下是供下载的phpwebsocket文件: 这里也有一个例子

  • 正如“TomvanderWoerdt”所说,PHP不是为进行套接字编程而设计的。选择非脚本语言,使用专用服务器或至少vps打开和管理套接字


  • 不要将PHP用于WebSocket。这不是不可能的,但PHP并不是为它而设计的。我如何确定它是否有那个dll?还有,从命令行运行我的php是什么意思?那么如何实现phpwebsocket呢?请注意,上面链接的phpwebsocket并没有得到维护,只实现了一个旧的websocket协议草案,该草案只适用于较旧版本的Safari。