2016-08-01 19 views
0

Mein Ionic arbeitet mit socket.io in einem Webview. Aber wenn ich versuche, meine App zu Android zu kompilieren, scheint es, dass socket.io nicht mit meinem nodejs Server verbinden kann.cordova eckig kann nicht mit socket.io verbinden

Wie ich alles meinem Knotenserver für Verbindungsereignisse trösten, es löst nicht das connection Ereignis wie unten zu sehen:

io.on('connection',function(socket){ 
    console.log('My socket id is '+socket.id); 
}); 

Meine Knoten Konsole funktioniert, wenn ich die App in einem Browser versuchen zu laufen . Aber mit der Android-App aus Cordova extrahiert scheint es, es kann nicht verbinden.

UPDATE: das ist meine config.xml Datei in meinem app

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.myapp.pagemanager" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>PageManager</name> 
    <description> 
     A sample Apache Cordova application that responds to the deviceready event. 
    </description> 
    <author email="[email protected]" href="http://cordova.io"> 
     Apache Cordova Team 
    </author> 
    <content src="index.html" /> 
    <plugin name="cordova-plugin-whitelist" spec="1" /> 
    <access origin="*" /> 
    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-intent href="tel:*" /> 
    <allow-intent href="sms:*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-intent href="geo:*" /> 
    <platform name="android"> 
     <allow-intent href="market:*" /> 
    </platform> 
    <platform name="ios"> 
     <allow-intent href="itms:*" /> 
     <allow-intent href="itms-apps:*" /> 
    </platform> 
</widget> 
+0

Verwenden Sie Ionic? –

+0

Verwenden Sie 'socket.io-client' als Ihre Abhängigkeit? Haben Sie Ihre Server-Domain auf die weiße Liste gesetzt (z. B. einen Blick in die cordova-Dokumentation für [Whitelisting] (https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/index.html)) werfen? – Beat

+0

@DevidFarinelli ja –

Antwort

0

ich schon mein Problem gelöst. Was ich getan habe, ist es, es in einem Simulator arbeiten zu lassen, damit ich die Fehler debuggen oder einfach sehen kann. und ich fount heraus der Pfad in Handy startet immer in file:// blah blah, wenn ich den nativen Skript-Code verwenden, um den aktuellen Pfad zu erhalten. und deshalb verbindet es sich nicht mit meinem Nodejs Server. und alles ist jetzt behoben. Danke! SO'ers.