2016-04-18 14 views
3

私はUIフロントエンドの開発者です。サーバー側とポートの接続に精通していません。 私はそれは私のローカルシステムで作業してできている、などのcontroller.jsnodejsのcordovaでのポートの問題

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

内部

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> 

をノードserver.jsファイルを作成しましたソケットチャットで作業する しかし、私がcordova apkを作成してモバイルにインストールしたとき、チャット機能は動作しません。

理由は何ですか?

+0

は、ここで起こって多くのことだろうコンテンツセキュリティポリシーのメタタグをindex.htmlの先頭に含めたクライアントCordovaコードと、Ajaxリクエストを作成しているCordovaアプリケーションのコード。また、リモートインスペクタに接続されたアプリのデバッグ時に、Chrome/Safariコンソールには何が表示されますか? –

+0

私は更新しました。上記の質問を確認してください。 – GMan

答えて

1

thisのガイドには、Cordovaアプリケーションをデバッグする方法が複数あります。

CordovaはAndroidでアプリケーションをレンダリングするためにWebkitを使用するため、Chromeリモートデバッガツールでデバッグできます。

このチェックを行うには、thisページをチェックしてください。

0

安全でないポートを使用して、ERR_UNSAFE_PORTを取得してください。 あなたの場合、8080は安全でないポートです。サーバ側では80または443に変更し :

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

またはこのようなあなたのNode.jsサーバーを実行:あなたのいずれかを投稿することができます

PORT=80 node server.js