Javascript cordova websocket onready for android

Javascript cordova websocket onready for android,javascript,cordova,websocket,Javascript,Cordova,Websocket,致以最良好的祝愿, 我尝试了几个websocket插件,但没有一个对我有效。 我不知道出了什么问题,因为当我在浏览器中尝试代码时,它成功地工作了,但是在构建apk之后,什么都没有发生。 我已经检查了config.xml的配置、权限和插件。 我猜Jelly beans inbrowser不支持websocket(我们已经知道了),但即使在插件中也不支持?只是猜测而已。 我使用jwebsocket作为websocket服务器。 cordova版本3.5.0 请告诉我我的代码出了什么问题 <ht

致以最良好的祝愿, 我尝试了几个websocket插件,但没有一个对我有效。 我不知道出了什么问题,因为当我在浏览器中尝试代码时,它成功地工作了,但是在构建apk之后,什么都没有发生。 我已经检查了config.xml的配置、权限和插件。 我猜Jelly beans inbrowser不支持websocket(我们已经知道了),但即使在插件中也不支持?只是猜测而已。 我使用jwebsocket作为websocket服务器。 cordova版本3.5.0 请告诉我我的代码出了什么问题

<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <meta name="msapplication-tap-highlight" content="no" />
        <title>Hello World</title>
<script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // device APIs are available
    function onDeviceReady() {
       var ws = new WebSocket('ws://192.168.1.6:8787/');
ws.onmessage = function () {
  alert('a message was recieved');
};
ws.onopen = function () {
ws.send('I just connected!');
};
    }
 </script>
<script type="text/javascript" src="websocket.js"></script>
  </head>
  <body onload="onLoad()">
        <div class="app">
            <h1>Apache Cordova</h1>
            <div id="deviceready" class="blink">
                <p class="event listening">Connecting to Device</p>
                <p class="event received">Device is Ready</p>
            </div>
        </div>
        <script type="text/javascript" src="js/index.js"></script>
        <script type="text/javascript">
            app.initialize();
        </script>
</body>
</html>

你好,世界
//等待加载设备API库
函数onLoad(){
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
}
//设备API可用
函数ondevicerady(){
var ws=newwebsocket('ws://192.168.1.6:8787/');
ws.onmessage=函数(){
警报(“收到消息”);
};
ws.onopen=函数(){
ws.send('我刚刚连接!');
};
}
阿帕奇科尔多瓦酒店
连接到设备

设备已准备就绪

app.initialize();
websocket.js在哪里?是通过电话还是网络服务器?。您还需要启用CORS。您可以搜索stackoverflow以查找如何启用CORS。您好,Frank,www中的Websocket.js在我的cordova项目(电话)中,CORS是从apache httpd.conf启用的。什么是Websocket.js?它是WebSocket的图书馆吗?使用websocket是否只需要一个文件
websocket.js
。如果它是一个库,那么它将需要额外的文件来完成它的任务。通过将websocket.js文件放在
www
目录中,它将开始搜索同一目录中的其他文件,根据您的评论,这些文件将不可用。因此,它将失败。您还需要在客户端启用CORS。config.xml中有一个参数
origin
,需要设置2 b。另外,在通过
new
操作符创建
WebSocket
对象时,请检查返回值。您好,WebSocket.js是WebSocket的配置文件。超时、握手等。。不需要额外的文件(我明白你的意思)。我确实从config.xml在android项目中启用了CORS,我正在使用github()的插件。我在问题部分读到一些人有我同样的问题,但没有找到解决办法。我明天就试试:)你为什么不试试socket.io?它似乎适合你的目的。