我正在尝试使用这个简单的教程:
http://socket.io/socket-io-with-apache-cordova/
我的node.js工作得很好,我正在模拟iOS没有问题,但套接字。IO不工作,这是我的javascript(与上面的教程相同的方式):
app.initialize(); document.addEventListener('deviceready', function() { console.log(socket); socket.on('connect', function() { socket.on('text', function(text) { alert(text); }); }); });
还有一件事我怎么能得到这个console.log调试?
这是我如何获得socket。Io(与上面的教程相同):
<script type="text/javascript" src="http://cdn.socket.io/socket.io-1.0.3.js"></script>
这是我的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);
我认为,问题和教程没有告诉我如何连接我的cordova应用程序端口3000
我做到了,这个教程很好,但并不完全正确。
你必须先连接套接字到你的服务器(我使用本地主机和端口3000,但如果你在外面使用一些服务器,我认为你只需要把ip和端口):
var socket = io.connect('http://localhost:3000');
之后,调用"socket "。,这是我的完整代码:
document.addEventListener('deviceready', function() {
var socket = io.connect('http://localhost:3000');
socket.on('connect', function() {
socket.on('text', function(text) {
alert(text);
});
});
});
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
var socketHost = "http://localhost:3000";
var socket = io.connect(socketHost);