java - 连接android时socket.io发送一些数据到服务器

标签 java android node.js sockets

在 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/

相关文章:

java - ListView 项目未在 BaseExpandableListAdapter 中删除

android - isSuccessful() 和 isComplete() 方法之间的区别

node.js - 在 Nodejs 中从套接字接收大量二进制数据

node.js - 可读流 Node : the _read method with the Number of bytes param

java - 如何在java中正确获取小端整数

java - 在单个 Hibernate session 中使用多个事务

android - 查找联系人组的帐户性质?

android - Facebook Android SDK 使用 native FaceBook 应用程序或通过 FB 应用程序的网络浏览器发布到我的墙上不存在

javascript - 简单的 Node.js 故障排除 - 从 app.get() 接收 404

java - java中的线程安全函数来计算句子中的单词数