无法在android socketio客户端与socketio服务器之间build立连接

我正在尝试使用Socket.IO开发一个聊天应用程序。 我的服务器端是Node.js,安装了express + socket.io库,我的客户端是Android + Web。

我尝试在我的客户端使用所有这些jar子:

  1. 'com.github.nkzawa:socket.io-client:0.3.0' – 这是在socket.io网站教程中find一个android到socketio服务器。
  2. 'io.socket:socket.io-client:0.6.1' – 在nkzawa android chat demo repository中find。
  3. 'com.github.nkzawa:socket.io-client:0.6.0' – 过去的另一个版本,为我工作。

所有这些jar子都没有为Android方面工作。 在我的服务器端,我有最新版本的Socket.IO库的1.3.7,我试着每个上面的jar子连接到它。

我也尝试过使用Socket.IO版本1.3.6,在列表中的第三个jar。

另外我试着改变在Android端的URL到http://10.0.2.2:3000,http://192.168.1.100:3000在这些jar子版本的每个…

笔记 –

  1. 请注意 – 我正在使用Android中的genymotion。
  2. 我有INTERNET_PERMISSION。
  3. 服务器端的socket.io在web浏览器(本地pc)上运行。

这是我的服务器端:

var app = require('express')(); var bodyParser = require('body-parser'); var http = require('http').Server(app); var io = require('socket.io')(http); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended:false})); io.on('connection', function(socket){ console.log(socket.id); console.log('Client connected'); }); http.listen(3000, function(){ console.log('listening on port 3000'); }); 

这是我的客户端:

  private Socket mSocket; { try { mSocket = IO.socket("http://10.0.3.2:3000"); } catch (URISyntaxException e) { throw new RuntimeException(e); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSocket.connect(); //setupActivity(); } 

我明白了,我真的无能为力,所以现在任何帮助都会帮助我:)谢谢

编辑 – 问题已解决。 显然genymotion不需要10.0.3.2 IP连接到本地,所以我进入了我的电脑IP地址,它的工作。 顺便说一下,我没有想到远程连接,这样我可以消除这个问题,并知道问题是连接的IP地址。