2012-11-12 62 views
8

所以,顯然我們所做的webapp,使用websockets,不適用於三星Galaxy S3股票Android瀏覽器。事情是,Android Browser不應該支持網絡套接字,但它看起來像這樣,儘管Web套接字不起作用,但連接永遠不會成功。 我們的web應用程序對Android Browser有一個回退,它使用閃存websockets實現,以防用戶安裝了閃存,但由於它檢測到S3支持websocket,因此它不使用回退。三星Galaxy S3 Android瀏覽器上的網絡套接字?

有沒有人遇到同樣的問題?有誰知道S3瀏覽器實現什麼版本的websockets? (即使WebSocket.org的回聲測試失敗)

+0

如果一個套裝或評論,有什麼遺漏,您應該接受一個答案。 – kelunik

回答

0

adroid G3上的本機瀏覽器支持websocket。 嘗試jWebSocketserver(javaWebSocket), 作品在IPAD2/3,IPHONE2/3,SAMSUNG TAB2, 三星G3也100%的作品。在html5test.com

http://jwebsocket.org/下載

0

嘗試測試不過我很晚回答這個問題。但是我仍然想分享一下,ANDROID瀏覽器都不支持WebSockets。請參閱this

我還製作了一個基本的PhoneGap應用程序,使用使用SignalR推送數據並嘗試在不同的ANDROID版本上運行,發現它在SAMSUNG ACE DUOS,MICROMAX A116和一個非常舊的SAMSUNG模型上運行良好(對不起,我可以不記得型號),但在三星GALAXY S3上失敗。

+0

問題是,儘管4.4版之前在Android Browser中沒有官方Websocket支持,但三星顯然在其一些Android設備中修補了瀏覽器以支持Websockets。不幸的是,這個實施似乎很糟糕。 – bjunix

1

我和你一樣有SGS 3的問題,我們也有閃回。問題是,當您撥打window.WebSocket時,其他機器人會爲我們返回undefined,但SGS3不會。所以我們用window.WebSocket = undefined;解決了這個問題。所以我們的閃存回退開始起作用。

1

似乎Android的默認瀏覽器實現了WebSocket API,但它什麼都不做。但是(至少在我S2 +),有一個在WebSocket沒有CLOSING屬性,所以你可以使用下面的函數來檢測,如果WebSockets的實際支持:

websocketSupported = function() { 
    if(typeof WebSocket === 'undefined') { 
     return false; 
    } 

    return 'CLOSING' in WebSocket.prototype; 
}(); 
相關問題