Cordova 应用 Socket.IO 连接不工作

Cordova App Socket.IO connection not working

我正在尝试设置我的 cordova 应用程序以使用 socket.io websocket 连接,但是当我 运行 处于调试模式时我无法连接它。我读过的所有内容都告诉我这应该有效,我做错了什么?

服务器端

var http = require('http');
var server = http.createServer();
var io = require('socket.io')(server);

server.listen(5022, function () {
    console.log('listening on *:5022');
});

io.sockets.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.');
});

应用程序

document.addEventListener('deviceready',    
    function() {
        onDeviceReady.bind(this);
        console.log('Device is Ready')
        var socket = io.connect('http://MyDomain:5022');
        socket.on('connect', function () {
            socket.on('text', function (text) {
                console.log(text);
            });
        });
    },
false);

我收到设备已就绪消息,但我收到此消息:

Failed to load resource: net::ERR_CONNECTION_REFUSED

File: xhr_proxy, Line: 0, Column: 0

问题是我在浏览器中使用了 Ripple 模拟器。它有一些限制域访问的蹩脚设置。你可以改变它,但我想搞砸它并决定使用 Android 模拟器来调试并且它工作正常。