2013-03-31 49 views
0

我寫了小型WebSocket應用程序,並試圖在Android模擬器和Android設備(Android 4.0.4版本)上運行它。Android設備上的WebSocket代碼

該代碼在Android模擬器中正常工作,但是當我嘗試在設備上運行相同的代碼時,它不能按預期工作。

下面是我的HTML代碼的WebSocket -

<html> 
<head> 
<script src="www/js/jquery-1.8.2.min.js"></script> 
</head> 
<body> 
<script language="javascript"> 
// test for websocket support 
$(document).ready(function(){ 
if ("WebSocket" in window) { 
alert("Your browser does support WebSockets"); 
} else { // no websocket support 
alert("Your browser does not appear to support WebSockets"); 
} 
var websocket; 
websocket = new WebSocket("ws://192.168.0.1:8080/SampleWebApp/WebSocketServlet"); 
// called once the connection is established 
websocket.onopen = function(evt) { 
alert("open"); 
}; 
// called upon receipt of a message 
websocket.onmessage = function(evt) { 
alert("message"); 
}; 
// called when an error occurs 
websocket.onerror = function(evt) { 
alert("error"); 
};   
// called when the connection is closed (by either side) 
websocket.onclose = function() { 
alert("close"); 
}; 
}); 
</script> 
</body> 
</html> 

當我運行上面的Android設備模擬器,我得到有關的WebSocket事件妥善所有JavaScript警告消息的代碼。

然而,當我部署相同的代碼,以實際的Android設備,我只能從上面的代碼中得到一個警告信息 - 「您的瀏覽器不支持WebSockets的」

感謝您的理解爲什麼WebSocket的事件沒有得到觸發幫助時,我在設備上運行。

問候, PRAS

回答

0

你更改服務器的IP地址,當您在設備上運行該代碼?
你使用什麼瀏覽器? 默認Android瀏覽器不支持WebSockets。更多這裏http://caniuse.com/websockets

+0

是的,IP地址是正確的。你說「默認的Android瀏覽器不支持WebSockets」,但我已經從我的代碼中獲得了瀏覽器的警告消息 - 「你的瀏覽器支持WebSockets」。我唯一面臨的問題是WebSocket事件在瀏覽器中不起作用。 –

+0

請檢查鏈接,表格說默認的android瀏覽器不支持WebSockets。 您可以嘗試爲Android安裝chrome並測試是否在該處運行相同的代碼。 HTH – Andrew

+0

感謝安德魯,我最初看到了這個表,但是對於android默認瀏覽器,javascript代碼'(「WebSocket」在窗口中)'返回「true」時感到困惑。 –