Отправка запроса сокета с клиента (iOS и Android) на сервер Sails.js

Я пытаюсь использовать socket.io с iOS и Android App, но здесь есть некоторые проблемы. Я спрашиваю, есть ли кто-нибудь, у кого есть решения.

Как я могу отправить запрос socket.io от клиента (iOS, Android), я думаю, что есть библиотеки socket.io для iOS и Android, и в 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) или веб-интерфейсом?

onConnect: function(session, socket) {

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

  },

когда я соединяю сокет с сервером, мне нужен URL для подключения. Я могу добавить несколько параметров в URL. Есть ли способ узнать, какие параметры я использовал для соединения с сервером?

Благодарю.

1 ответ

Решение

С 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, благодаря Lost in OWL)

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();
}
Другие вопросы по тегам