我正在尝试使用Socket.IO开发聊天应用。 我的服务器端是Node.js,安装了express + socket.io库,我的客户端是Android + Web。
我尝试在我的客户端使用所有这些罐子:
所有这些罐子都没有为android方面工作。 在我的服务器端,我有最新版本--Socket.IO库的1.3.7,我尝试了上面的每个罐子连接到它。
我也尝试过使用Socket.IO版本1.3.6,它在过去对我有用,并且列表中有第3个jar。
另外,我尝试将android端的url更改为http://10.0.2.2:3000,http://192.168.1.100:3000,每个jar版本......
备注 -
这是我的服务器端:
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连接到localhost所以我输入了我的电脑IP地址,它工作。 顺便说一句,我没有想过远程连接,这样我就可以解决问题,并知道问题是与ip地址连接。
答案 0 :(得分:0)
解决方案到这里来了,我差点错过了它,因为它不在应该的位置。 (提供给OP:Ido Magor):
问题已解决。显然genymotion不需要10.0.3.2 ip来连接到本地主机,所以我输入了我的pc ip地址即可。顺便说一句,我没有考虑过远程连接,那样我就可以解决问题,并且知道问题与ip地址有关。