0

我编写了小型 WebSocket 应用程序并尝试在 android 模拟器和 android 设备(android 4.0.4 版本)上运行它。

该代码在 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 事件。

问候,普拉斯

4

1 回答 1

0

当您在设备上运行此代码时,您是否更改了服务器 IP 地址?
你用什么浏览器?默认的 Android 浏览器不支持 WebSockets。更多在这里http://caniuse.com/websockets

于 2013-04-01T21:50:47.177 回答