2017-05-28 13 views
0

を接続しないコルドバ - SocketIO私はnodejsサーバーに接続するために、コルドバとsocket.ioを使用しています

これはコード

var app = require('express')(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 
var process = require('process'); 

io.on('connection',function(socket){ 
    console.log('a user connected'); 
    socket.emit("message",{message:"connected"}); 
    socket.on('disconnect', function(){ 
     console.log('user disconnected'); 
    }); 
}); 

http.listen(port,function(){ 
    console.log("Listening to port ",port); 
}); 

app.get('/', function(req, res){ 
    res.send('<h1>Hello world</h1>'); 
}); 

サーバーであり、これは私のクライアントコードです

app.initialize(); 

document.addEventListener('deviceready', function() { 
    console.log("Device Ready!"); //displayed 

    var socket = io('http://127.0.0.1:3000'); 
    //tried my LAN IP and still failed 

    console.log('socket created'); //displayed 
    console.log(typeof socket); // displays "object" 

    socket.on('connect',function(){ 
     console.log("Connected!"); 
     //never displays 
    }); 

    socket.on("message",function(data){ 
     console.log(data); 
    }); 
}); 

xampp/htdocsでホストされているこのコードを使用してnodejsサーバーに接続しようとしましたが、成功しました完全に接続!

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.1/socket.io.slim.js"></script> 
</head> 
<body> 
    <script type="text/javascript"> 
     var socket = io('http://127.0.0.1:3000'); 

     socket.on('connect',function(){ 
      console.log("connected!"); 
     }); 

     socket.on('message',function(data){ 
      console.log(data); 
     }); 

    </script> 
</body> 
</html> 

私のコルドバのアプリが接続トリガされませんなぜ私は多分、それはすべてのエラーを発行しない、理解していません。

本当にありがとうございます。

ありがとうございました!

答えて

0

Cordovaアプリケーションは、NodeJSサーバーと同じネットワークを使用していますか? ソケットを接続するために "http://127.0.0.1:3000"を使用しているので、Cordova Appはサーバと同じネットワークになければなりません。

+0

はい、私はiosエミュレータを使用しています。 – user1732887

0

何時間も解決しようとした後、ついにそれを解決しました。 問題は、私はうまくいけば、これはすぐに誰かを助ける

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: * 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> 

に私のindex.html

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> 

に、このHTMLコードを変更するためのコンテンツセキュリティポリシー

ました。

関連する問題