在 javascript 和 node.js 中,当像这样连接时我可以将数据发送到服务器
var s = io('http://216.157.91.131:8080/', { query: "foo=bar" });
s.connect();
var c = io.connect('http://216.157.91.131:8080/', { query: "foo=bar" });
在服务器中我可以得到这样的数据
var io = require('socket.io')(server);
io.use(function(socket, next) {
var handshakeData = socket.request;
console.log("middleware:", handshakeData._query['foo']);
});
现在在 Android 中我怎样才能做同样的事情? 我正在使用
com.github.nkzawa:socket.io-client:0.4.2
对于 android 及其代码如下
IO.socket(host);
} catch (URISyntaxException e) {
e.printStackTrace();
}
client.on("id", messageHandler.onId);
client.connect();
现在,如果我通过像 javscript 这样的连接添加一些数据,它会向我显示错误
JSONObject id = new JSONObject();
id.put("user_id", 51);
IO.socket(host,id);
错误消息
cannot reslove method 'socket(java.lang.string,org.json.JSONObject)'
最佳答案
我找到了解决办法
IO.Options opts = new IO.Options();
opts.query = "auth_token=" + yourDataValue;
Socket socket = IO.socket("http://localhost", opts);
你可以通过
得到它var io = require('socket.io')(server);
io.use(function(socket, next) {
var handshakeData = socket.request;
var data = handshakeData._query['auth_token'];
});
关于java - 连接android时socket.io发送一些数据到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37664636/