Apache Cordova的Node.js和Socket.io应用程序在android中不工作
我正在尝试使用ApacheCordova为android编写这个简单的教程。到目前为止,我所做的一切都和教程中的一样,我使用自己的android手机和android 8.0版来测试这个应用程序。当我键入cordova run command app get launched时,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
会显示屏幕上的“设备就绪”
,但什么也没有发生。我在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"
},