【问题标题】:How to connect android kotlin to sails js using socket.io如何使用socket.io将android kotlin连接到sails js
【发布时间】:2020-10-30 19:52:44
【问题描述】:

我不知道我做错了什么,

这是我在 kotlin 中使用 socket io 客户端的代码:

    val mSocket: Socket = IO.socket("http://10.24.17.45:1337/socket.io/?__sails_io_sdk_version=1.2.1&__sails_io_sdk_platform=browser&__sails_io_sdk_language=javascript&EIO=3&transport=websocket");

        val jsonArray = JSONArray()
        val header  = JSONObject()
        val headers = JSONObject()
        val data    = JSONObject()


        headers.put("usertoken","\$2a\$10GbowyVBWXielcthStNASzOKa40FP1wtexhv3HAZ.XHE5J.K.IrIcK")
        headers.put("apptoken","apptoken")
        headers.put("userid","3")

        header.put("method","get")
        header.put("headers",headers)
        header.put("data",data)
        header.put("url","wss://10.24.17.45:1337/notifications")


        //jsonArray.put("get")
        jsonArray.put(header)


        mSocket!!.emit("get", header)
        mSocket!!.connect()

这是我在 SailsJS 中的代码:

    notificationsJoin: function(req, res) {
    try{
            if (!req.isSocket) {
                res.status(500)
                return res.send(ack.createResponse(500,"","No es una solicitud de tipo WS."));
            }
            res.ok("connection succes")
        } catch(err){
            res.status(500)
            return res.send(ack.createResponse(500,"",err.message));
        }
    }

最后,这是我的路线

'get /notifications': 'NotificationController.notificationsJoin',

【问题讨论】:

    标签: android kotlin socket.io sails.js


    【解决方案1】:

    查看此文档:https://sailsjs.com/documentation/reference/web-sockets/sails-sockets

    爆炸和广播将向加入的客户端发送消息。

    您可能希望创建一个端点以将您的客户端加入到 Sails js 套接字中。

    subscribeToNotifications: function(req, res) {
      if (!req.isSocket) {
        return res.badRequest();`enter code here`
      }
    
      var roomName = req.param('notifications');
      sails.sockets.join(req, roomName, function(err) {
        if (err) {
          return res.serverError(err);
        }
    
        return res.json({
          message: 'Subscribed to a room called '+roomName+'!'
        });
      });
    }
    

    然后进行广播 sails.sockets.broadcast('notifications', { greeting: 'Hola!' });

    然后在你的客户端上

    io.socket.on('message', function (data){
      console.log(data.greeting);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 2016-01-16
      • 2018-03-14
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多