2013-01-31 154 views
1

我正在使用下面的js插件,它允许我在android和iOS上使用WebSockets和用html5编写的应用程序(通过我的情况下的phonegap)。服务器端为websocket需要什么?

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

,我需要为使用的WebSocket什么?

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

+0

请勿将PHP用于websockets。这不是不可能的,但PHP并不是为它设计的。 –

回答

2

首先,你可以使用这样一个库: http://code.google.com/p/phpwebsocket/

其次,你的主机必须让你创建插槽。这意味着PHP必须启用php_sockets.dll(Win)或sockets.so(Linux)扩展并从您的服务器转发端口。 此外,你需要运行你的PHP从表扬线或以某种方式永远活着。

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

*编辑:

  1. 的WebSockets只是某种正常的插座。在websocket中,您可以连接到正在监听连接并与之通信的端点。就像正常的套接字一样,但协议的简单差异和更多限制。为此,您需要脚本或应用程序永远运行并处理来自网页的所有连接。但是一个php文件将在请求结束后立即结束。为了保持一个php文件永远运行,你需要从commend行运行它,这意味着你需要有shell访问,或者你可以使用这段代码永远运行你的php脚本:(但是你必须考虑一个叫它的机制只有一次)

    ignore_user_abort(true);

    ini_set('max_execution_time',0);

    set_time_limit(0);

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

  3. 这里是phpwebsocket文件下载: http://phpwebsocket.googlecode.com/svn/trunk/%20phpwebsocket/ 有有一个例子太多。因为“Tom van der Woerdt”表示PHP并不是为执行套接字编程而设计的。寻找非脚本语言,并使用专用服务器或至少一个vps打开和管理套接字。

+0

我如何确定它是否有该DLL?另外你是什么意思从命令行运行我的PHP?我该如何实现phpwebsocket? – maxhud

+0

@maxhud更多信息添加 –

+0

请注意,上面链接的phpwebsocket并未维护,只实现了只适用于旧版Safari的websocket协议的旧草案。 – simonc

相关问题