Apache Cordova的Node.js和Socket.io应用程序在android中不工作

Apache Cordova的Node.js和Socket.io应用程序在android中不工作,android,node.js,cordova,sockets,socket.io,Android,Node.js,Cordova,Sockets,Socket.io,我正在尝试使用ApacheCordova为android编写这个简单的教程。到目前为止,我所做的一切都和教程中的一样,我使用自己的android手机和android 8.0版来测试这个应用程序。当我键入cordova run command app get launched时,会显示屏幕上的“设备就绪”,但什么也没有发生。我在chrome远程调试控制台中收到了这个接收到的事件:deviceready消息和以下错误,但没有发生任何事情,它不会像预期的那样弹出警报 localhost:3000/so

我正在尝试使用ApacheCordova为android编写这个简单的教程。到目前为止,我所做的一切都和教程中的一样,我使用自己的android手机和android 8.0版来测试这个应用程序。当我键入cordova run command app get launched时,
会显示屏幕上的“设备就绪”
,但什么也没有发生。我在chrome远程调试控制台中收到了这个
接收到的事件:deviceready
消息和以下错误,但没有发生任何事情,它不会像预期的那样弹出警报

localhost:3000/socket.io/?EIO=2&transport=polling&t=1549179448883-0:1未能加载资源:net::ERR\u连接被拒绝

获取0()

这是index.html

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />
    <meta name="format-detection" content="telephone=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    <link rel="stylesheet" type="text/css" href="css/index.css">
    <title>Hello World</title>
</head>

<body>
    <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="cordova.js"></script>
    <script type="text/javascript" src="http://cdn.socket.io/socket.io-1.0.3.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript">
        app.initialize();

        document.addEventListener('deviceready', function() {
            var socket = io.connect('http://localhost:3000');
            socket.on('connect', function() {
                socket.on('text', function(text) {
                    alert(text);
                });
            });
        });
    </script>
</body>

</html>
server.js文件

var server = require('http').createServer();
var io = require('socket.io')(server);

io.sockets.on('connection', function(socket) {
console.log('socket connected');

socket.on('disconnect', function() {
    console.log('socket disconnected');
});

socket.emit('text', 'wow. such event. very real time.');
});

server.listen(3000);
index.js和server.js
位于
www/js
目录下 在
Package.json
中,我添加了这些行来启动服务器

"main": "server.js",
"scripts": {
    "start": "node server.js"
},

我做错了什么?任何帮助都将不胜感激

我认为您忘记启动服务器了:将server.js移动到项目的第一个文件夹中,然后从命令行使用Package.json中定义的“node server.js”或“npm start”启动它
在同一台计算机的另一个命令行中,启动项目。我是用“cordova emulate browser”完成的,我想你忘了启动服务器:将server.js移动到项目的第一个文件夹,然后从命令行用“node server.js”或“npm start”启动它,正如你在Package.json中定义的那样 在同一台计算机的另一个命令行中,启动项目。我用“cordova模拟浏览器”做到了

"main": "server.js",
"scripts": {
    "start": "node server.js"
},