我正在使用以下js插件,它允许我在Android和iOS上使用WebSockets以及用html5编写的应用程序(在我的情况下通过phonegap)。
https://github.com/FreakDev/PhoneGap-Android-HTML5-WebSocket
为了使用网络套接字,我还需要什么?
我有一个带有bluehost的基本服务器,安装了PHP和MySQL。我需要做什么?
首先,您可以使用这样的库:http://code.google.com/p/phpwebsocket/
其次,您的主机必须允许您创建套接字。这意味着 PHP 必须启用 php_sockets.dll (Win) 或 sockets.so (Linux) 扩展,并且必须从服务器转发端口。此外,您还需要从表扬行运行您的 php,或者以某种方式使其永远保持活力。
这就像在 PHP 中创建普通套接字一样。
*编辑:
-
WebSockets只是某种普通的套接字。在 websocket 中,您可以连接到正在侦听连接的端点,然后与之通信。就像普通套接字一样,但协议差异简单,限制更多。为此,您需要一个脚本或应用程序来永久运行并处理来自网页的所有连接。但是 php 文件将在请求结束后立即结束。为了保持 php 文件永远运行,您需要从推荐行运行它,这意味着您需要具有 shell 访问权限,或者您可以使用此代码永久运行您的 php 脚本: (但你必须考虑一种只调用它一次的机制)
ignore_user_abort(真);
ini_set("max_execution_time", 0);
set_time_limit(0);
-
你可以测试。如果您的应用程序失败并显示有关不知道 socket_connect 或 socket_bind 等函数的错误消息,那么您没有 php 的套接字扩展。
-
以下是可供下载的phpwebsocket文件:http://phpwebsocket.googlecode.com/svn/trunk/%20phpwebsocket/那里也有一个例子。
-
正如"Tom van der Woerdt"所说,PHP不是为做套接字编程而设计的。选择非脚本语言并使用专用服务器或至少 vps 来打开和管理套接字。