其他分享
首页 > 其他分享> > 从客户端(iOS和Android)向Sails.js服务器发送套接字请求

从客户端(iOS和Android)向Sails.js服务器发送套接字请求

作者:互联网

我正在尝试将socket.io与iOS和Android App一起使用,但这里存在一些问题.我在问是否有人确实有解决方案.

如何从客户端(iOS,Android)发送socket.io请求,我认为有iOS和Android的socket.io库,iOS lib有sendEvent / Message / JSON方法.但是,我找不到办法让帆船上的活动. https://github.com/pkyeck/socket.IO-objc https://github.com/koush/AndroidAsync
那么有什么方法可以从客户端发送socket.io事件?所以我可以像使用它一样

join: function (req, res) {
    sails.sockets.join(req.socket, req.param('room'));
    return res.ok();
  },

有什么方法可以让我知道当前套接字连接是来自客户端(ios / android)还是web前端?

onConnect: function(session, socket) {

    console.log(session);
    console.log(socket);

  },

当我用服务器连接套接字时,我需要url连接.我可以在网址上添加一些参数.有什么方法可以让我知道我用来连接服务器的参数是什么?

谢谢.

解决方法:

从iOS到Sails.js服务器(使用Socket.io)

SocketIO *socket;
NSString *url = [NSString stringWithFormat:@"/v1/controller/action?param1=%@&param2=%@", @"data1", @"data2"];
NSDictionary *params = @{@"url" : url};
[socket sendEvent:@"get" withData:data];

从Android到Sails.js服务器(使用AndroidAsync,感谢ArtworkAD)

JSONArray arr = new JSONArray();
JSONObject obj = new JSONObject();
obj.put("url", String.format("/v1/controller/action?param1=%s&param2=%s", "data1", "data2"));
arr.put(obj);
socketClient.emit("get", arr);

帆控制器

action: function(req, res) {
    var data1 = req.param('param1');
    var data2 = req.param('param2');
    sails.log.debug(req.socket);
    return res.ok();
}

标签:android,ios,websocket,socket-io,sails-js
来源: https://codeday.me/bug/20191007/1864615.html