1

我正在使用以下 js 插件,它允许我在 android 和 iOS 上使用 WebSockets 以及用 html5 编写的应用程序(在我的情况下通过 phonegap)。

https://github.com/FreakDev/PhoneGap-Android-HTML5-WebSocket

为了使用 websocket,我还需要什么?

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

4

1 回答 1

2

首先,您可以使用这样的库: http ://code.google.com/p/phpwebsocket/

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

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

*编辑:

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

    忽略用户中止(真);

    ini_set('max_execution_time', 0);

    设置时间限制(0);

  2. 你可以测试一下。如果您的应用程序失败并显示有关不知道诸如 socket_connect 或 socket_bind 之类的函数的错误消息,那么您没有 php 的套接字扩展。

  3. 这是供下载的 phpwebsocket 文件:http://phpwebsocket.googlecode.com/svn/trunk/%20phpwebsocket/ 那里 也有一个示例。

  4. 正如“Tom van der Woerdt”所说,PHP 不是为进行套接字编程而设计的。选择非脚本语言并使用专用服务器或至少一个 vps 来打开和管理套接字。

于 2013-01-31T19:52:02.390 回答