2016-04-18 3 views
3

Ich bin ein UI-Front-End-Entwickler, nicht vertraut mit Server-Seite und Port-Verbindungen. Ich habe erstellt einen Knoten server.js Datei wie,Port-Problem in Cordova mit Nodejs

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 Kopf

<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> 

innen controller.js

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

Es ist in meinem lokalen System arbeiten und in der Lage mit Socket-Chat zu arbeiten. Aber wenn ich cordova apk erstellt und auf meinem Handy installiert habe, funktioniert die Chat-Funktion nicht.

Was wäre der Grund?

+0

Könnte eine Menge Dinge hier los ist, können Sie nach jedem Ihrer Cordova-Client-Code, einschließlich des Meta-Tags für die Inhaltssicherheitsrichtlinie im Kopf Ihrer index.html und aller Codes in der Cordova-App, die Ajax-Anforderungen stellen. Was sehen Sie auch in der Chrome/Safari-Konsole beim Debuggen Ihrer App, die mit dem Remote-Inspector verbunden ist? –

+0

Ich habe aktualisiert, Bitte überprüfen Sie die Frage oben. – GMan

Antwort

1

Überprüfen Sie this Anleitung mit mehreren Möglichkeiten zum Debuggen Ihrer Cordova-Anwendung.

Da Cordova Webkit verwendet, um Ihre Anwendung in Android zu rendern, können Sie es in Chrome Remote-Debugger-Tool debuggen.

Um dies zu überprüfen this Seite.

0

Sie versuchen, unsicheren Port zu verwenden und ERR_UNSAFE_PORT zu erhalten. In Ihrem Fall ist 8080 ein unsicherer Port. Ändern Sie es auf 80 oder 443 in Server-Seite:

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

Oder Ihr Node.js Server wie folgt auszuführen:

PORT=80 node server.js