繁体   English   中英

与nodejs在cordova端口问题

[英]port issue in cordova with nodejs

我是UI前端开发人员,不熟悉服务器端和端口连接。 我创建了一个节点server.js文件,比如

var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port     = process.env.PORT || 8080;
app.use(express.static(__dirname + '/www'));

io.on('connection', function(socket){
    socket.on('chat message', function(msg){
        io.emit('chat message', msg);
        console.log(msg);
      });
});

http.listen(port, function() {
  console.log("server starting on: "+port);
});

index.html头

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">
    <title></title>

    <script src="lib/jquery-1.11.3.min.js"></script>
    <!-- ionic/angularjs js -->

    <!-- cordova script (this will be a 404 during development) -->
    <script src="lib/ng-cordova.min.js"></script>
    <script src="cordova.js"></script>

    <!-- your app's js -->
    <script src="js/app.js"></script>

    <script src="lib/moment/min/moment.min.js"></script>
    <script src="lib/angular-moment/angular-moment.min.js"></script>

    <script src="lib/sio-client/socket.io.js"></script>

    <script src="lib/angular-socket-io/socket.js"></script>
    <script src="js/controllers.js"></script>
  </head>

在controller.js内

socket.on('chat message', function(msg) {
  //code
})

它在我的本地系统中工作,能够使用套接字聊天。 但是当我创建cordova apk并安装在我的手机中时,聊天功能无效。

那是什么原因?

请查看指南,了解调试Cordova应用程序的多种方法。

由于Cordova使用Webkit在Android中呈现您的应用程序,因此您可以使用chrome远程调试工具对其进行调试。

为此,请检查页面。

您尝试使用不安全的端口并获取ERR_UNSAFE_PORT。 在您的情况下,8080是不安全的端口。 在服务器端将其更改为80或443:

var port = process.env.PORT || 80;

或者像这样运行你的Node.js服务器:

PORT=80 node server.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM