Ich habe Probleme, eine Verbindung zwischen socket.io Server und socket.io Client in Apache Cordova Anwendung. Es wird nur keine Verbindung zum Server hergestellt, den ich in node.js ausführe.Cordova Socket io xhr Umfrage Fehler
Mein socket.io Server-Code lautet wie folgt:
var server = require('http').createServer();
var io = require('socket.io')(server);
io.on('connection', function(socket) {
console.log('socket connected');
socket.on('disconnect', function() {
console.log('socket disconnected');
});
socket.emit('text', 'wow. such event. very real time.');
});
server.listen(3000);
Code Meine cordova js sich wie folgt:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log("Hello from app 1234");
var socket = io('http://localhost:3000', {reconnect: true});
console.log("socket created");
socket.on('connect', function() {
console.log("Connection created!");
alert("connection ok");
socket.on('text', function(text) {
alert(text);
});
});
}
Wenn ich es vor Ort in meinem Browser ausführen mit cordova dienen, es läuft fein. Auch ist es in Ordnung, wenn ich eine normale XMLHttpRequest() zu einem Server, ich testete es und konnte JSON gut erhalten.
Fehler:
"socket.io-client:manager connect_error +49ms"
"engine.io-client:socket socket error %j +50ms",Error: xhr poll error
"socket.io-client:manager connect attempt will timeout after %d +113ms",20000
"engine.io-client:polling-xhr xhr poll +5s"
"engine.io-client:polling-xhr xhr data %s +1ms",null
"engine.io-client:socket setting transport %s +110ms","polling"
"engine.io-client:polling-xhr xhr open %s: %s +28ms","GET","http://localhost:3000/socket.io/?EIO=2&transport=polling&t=1481551911376-8"
Was mein Problem sein könnte und wie könnte ich es debuggen weiter?
EDIT: Ich teste es auf Emulator mit cordova emulate android
Sie testen also von einem echten Gerät? – Beat
@Beat Bearbeitet, ich teste es auf Emulator – taivo