我正在尝试使用这个简单的教程:
http://socket.io/socket-io-with-apache-cordova/
我的 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); }); }); });
还有一件事我怎样才能调试这个 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.io”,这是我的完整代码:
document.addEventListener('deviceready', function() {
var socket = io.connect('http://localhost:3000');
socket.on('connect', function() {
socket.on('text', function(text) {
alert(text);
});
});
});
关于node.js - 将 socket.io 与 cordova 和 IOS 设备一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25464614/