2013-01-31 50 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

相關問題