使用socket.io与cordova和IOS设备

Rod*_*eca 4 websocket node.js socket.io cordova

我正在尝试使用这个简单的教程:

http://socket.io/socket-io-with-apache-cordova/
Run Code Online (Sandbox Code Playgroud)

我的node.js工作正常,我正在向iOS模拟没有问题,但socket.io无法正常工作,这里是我的javascript(与上面的教程相同):

app.initialize();

document.addEventListener('deviceready', function() {
    console.log(socket);
    socket.on('connect', function() {
        socket.on('text', function(text) {
            alert(text);
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

还有一件事我怎样才能让这个console.log进行调试?

这是我如何获得socket.io(与上面的教程相同):

<script type="text/javascript" src="http://cdn.socket.io/socket.io-1.0.3.js"></script>
Run Code Online (Sandbox Code Playgroud)

这是我的server.js(与上面的教程相同):

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

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

server.listen(3000);
Run Code Online (Sandbox Code Playgroud)

我认为,问题和教程没有告诉我是如何将我的cordova应用程序连接到端口3000

Rod*_*eca 10

我做到了,这个教程非常好,但它并不完全正确.

你必须首先将套接字连接到你的服务器(我使用localhost和端口3000,但如果你在外面使用一些服务器,我认为你只需要放置ip和端口):

var socket = io.connect('http://localhost:3000');
Run Code Online (Sandbox Code Playgroud)

然后,你调用"socket.io",这是我的完整代码:

document.addEventListener('deviceready', function() {
        var socket = io.connect('http://localhost:3000');
        socket.on('connect', function() {
            socket.on('text', function(text) {
                alert(text);
            });
        });
    });
Run Code Online (Sandbox Code Playgroud)