【问题标题】:socket.io send some data to server when connect android连接android时socket.io向服务器发送一些数据
【发布时间】:2016-06-07 04:18:20
【问题描述】:

在 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);

错误提示

无法解析方法'socket(java.lang.string,org.json.JSONObject)'

【问题讨论】:

    标签: java android node.js sockets


    【解决方案1】:

    我发现了sloution

     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'];
    });
    

    【讨论】:

      猜你喜欢
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 2019-05-31
      • 2018-11-19
      • 1970-01-01
      • 2020-06-26
      相关资源
      最近更新 更多