我目前正在测试一个理论。我有 VS2013 并安装了 Apache Cordova 和 Node.js 项目库。在使用 native 命令行方法之前,我已经创建了 NodeJS+Socket.IO 网站,主要使用指南,因此我对“事物如何工作”的理解是基本的。下面是我创建的 VS 项目的图片:
基本上我希望能够使用 socket.io 在两个项目之间进行数据通信。我在 Google 和此处进行了大量研究,但找不到任何具体内容,这如何实现?
我见过this question这告诉我这有可能实现,但那是原生 Android 而不是 Cordova。
使用 NodeJS 也可能不是最佳选择。最终,我希望能够与现有的(非常大的).Net 应用程序进行通信,因此我有兴趣知道是否有更好的方法来做到这一点(完全跳过 NodeJS 层?)。
感谢您的宝贵时间
更新
我正在尝试,但出现连接错误:
服务器端
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
最佳答案
我创建了a new question在这。我创建的代码很好,只是我使用的调试方法(Ripple)阻止了 CORS在浏览器中。
关于javascript - 在 Visual Studio 中将 socket.io (node.js) 服务器与 Cordova 应用程序结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27962016/