socket io和cordova

时间:2015-10-27 14:17:23

标签: android node.js cordova sockets

我想为android创建一个与nodejs服务器通信的Cordova应用程序。这是我的代码:

客户端:

var socket = io.connect('ws://HEROKUHOST');
   console.log(socket);
   socket.send('hi');
});

服务器:

io.sockets.on('connection', function(socket){
  console.log("Connected");

  socket.on('message', function () { console.log("GOT MESSSS")});
});

它在浏览器中本地工作,但在应用程序中它确实连接但不发送消息。
因此,在服务器上我在连接时解除“已连接”消息,但socket.on('message')永远不会调用。我有东西阻止 socket.send('hi')

2 个答案:

答案 0 :(得分:0)

你的nodejs服务器是否有效?我猜想在Heroku上托管了吗? 对您的代码执行此更改: 在科尔多瓦代码:

var socket = io.connect('HEROKUHOST');

的console.log(插座);

socket.emit( '信息',{});

});

表示不需要在URL之前使用ws://。保持简单的https网址。其次,而不是socket.send使用socket.emit socket.send也用在服务器端,而不是客户端。客户端调用事件“消息”,而不是使用socket.send(“Hi”)

从服务器发送

希望有所帮助

答案 1 :(得分:0)

对我来说,问题是因为升级服务器端包特别是 socket.io ..经过几个小时的搜索,我决定降级以适应客户端版本,然后问题就解决了。