2014-02-26 84 views
1

我有一個在Openshift上運行的socket.io(v0.9.16)的nodejs v0.10服務器,在過去的2個月裏它沒有問題從使用AndroidAsync連接到服務器的Android應用程序接收數據(https://github.com/koush/AndroidAsync)。突然在Openshift在2月25日升級它的服務後,Android應用程序無法連接到服務器。每次應用程序嘗試連接服務器時,服務器都會輸出一個錯誤,我在調試模式下運行Socket.IO,並顯示(debug:destroying nonsocket.io upgrade)。在最新的Openshift更新之後,Socket.IO客戶端無法連接到Socket.IO nodejs服務器

有趣的是,相同的服務器也託管我的網絡客戶端運行相同的socket.io庫,並且它與Web客戶端沒有任何問題。有人能請我指出正確的方向嗎?我使用http://www.xxxxxx.com:8000/連接到服務器,其中8000是Openshift提供的websocket端口。

,我讀了「毀non-socket.io升級」可能由於無效的/不兼容socket.io js文件,我試圖做的socket.io文件手動檢查通過在瀏覽器中鍵入此

http://www.xxxxxx.com:8000/socket.io/1/

我得到這個返回代碼:

安vI1BJofr45j9c_GmH:60:60:WebSocket的,HTMLFILE,XHR輪詢,JSONP輪詢

PS:我的Android代碼並未改變,我的服務器代碼也是如此。 PPS:我已經在localhost環境和我自己的服務器上成功連接。所以這個問題最可能來自Openshift,不確定哪些更新可以打破它。

+0

我能夠使用此工具(http://www.websocket.org/echo.html)和此URL(ws://websocket-cdaley.rhcloud.com:8000)測試示例websocket應用程序,並且它正常工作。我正在使用這個快速入門(https://github.com/openshift-quickstart/openshift-nodejs-http-and-websocket-example) – 2014-02-26 15:52:51

+0

嗨,感謝您的快速回復。正如前面提到的在服務器上託管的Web應用程序在加載瀏覽器後通過socket.io連接到服務器時沒有問題,我唯一的問題是通過使用AndroidSync的Android應用程序進行連接。我現在正在重寫用plain socket作爲備份計劃來處理android連接的服務器。 – user3356497

+0

你提交了一個錯誤報告嗎? – 2014-02-26 16:07:40

回答

2

突然間它再次工作,沒有任何代碼更改。然而,我會建議任何人使用我的連接到後端服務器的方法來進行http推送備份,以防將來的服務器更新再次破壞它。

如果有人從Openshift可以幫助澄清這一點,以防止運行生產應用程序猝死,將不勝感激。謝謝。

0

請務必檢查OpenShift Online's system status page以查看您的應用是否受到系統停機的影響。 (fyi:我們在AWS之上運行)

我肯定會考慮在生產質量應用程序中使用OpenShift Online的paid hosting plans之一。使用付費計劃創建的應用會轉到單獨的一系列計算機上(更多資源),並配置爲具有更高的可用性(由於不活動而不會進入睡眠狀態)。

希望這有助於回答你的問題。如果是這樣,請關閉。

相關問題