Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 插座io和cordova_Android_Node.js_Cordova_Sockets - Fatal编程技术网

Android 插座io和cordova

Android 插座io和cordova,android,node.js,cordova,sockets,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', f

我想为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")});
});
它在浏览器中本地工作,但在应用程序中它确实连接但不发送消息

所以,在服务器上,我在连接上查看“Connected”消息,但socket.on('message')从不调用。我发现有东西阻塞了套接字。发送('hi')

您的nodejs服务器是否处于活动状态?我想是在Heroku主持的对吧? 对代码进行以下更改: 在科尔多瓦代码中:

var socket=io.connect('HEROKUHOST')

控制台日志(套接字)

emit('message',{})

}))

意味着不需要在URL之前使用ws://。保持简单的https url。其次,使用socket.emit代替socket.send 另外,socket.send用于服务器端,而不是客户端。客户端调用事件“message”,而不是使用socket.send(“Hi”)从服务器发送


希望对您有所帮助

您的nodejs服务器是否处于活动状态?我想是在Heroku主持的对吧? 对代码进行以下更改: 在科尔多瓦代码中:

var socket=io.connect('HEROKUHOST')

控制台日志(套接字)

emit('message',{})

}))

意味着不需要在URL之前使用ws://。保持简单的https url。其次,使用socket.emit代替socket.send 另外,socket.send用于服务器端,而不是客户端。客户端调用事件“message”,而不是使用socket.send(“Hi”)从服务器发送


希望对我有帮助,问题是因为升级了服务器端软件包,特别是socket.io
.. 经过数小时的搜索,我决定降级以适应客户端版本,然后问题就解决了。

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

Emit也不工作,应用程序连接到服务器(socket.connected为true),但它们之间没有通信。我已经测试了ws(WebSockets),它可以工作,但不幸的是,我需要socket.io连接。我很高兴有一个在cordova上运行的socket.io通信示例。您在服务器和客户端上使用的socket版本是什么?Emit也不工作,应用程序连接到服务器(socket.connected为true),但它们之间没有通信。我已经测试了ws(WebSockets),它可以工作,但不幸的是,我需要socket.io连接。我很高兴有一个在cordova上工作的socket.io通信示例。您在服务器和客户端上使用的socket的版本是什么?