将套接字请求从 android 客户端发送到 sails.js 0.11

send socket request from android client to sails.js 0.11

知道如何在 android 中发出 socket.get() 请求吗?

我试试这个:

JSONObject obj = new JSONObject();
obj.put("url","/controller/action");
socketClient.emit("get",obj);

服务器响应是:

Error (SAILS:HOOK:SOCKETS:PARSE_VIRTUAL_REQ):: Failed to parse incoming socket.io request
...
details: 'Sails v0.11.x is not compatible with the socket.io/sails.io.js client SDK version you are using (0.9.0). Please see the v0.11 migration guide on http://sailsjs.org for more information.'

我不知道 android 中的 socket.get() 请求。

但我知道如果您的服务器是 运行 v.0.11 的 Sails,您需要将 sails.io.js 客户端升级到 v0.11,因为 v0.9 不兼容。 它在迁移指南中进行了解释,并提供了有关如何升级的说明:sails generate sails.io.js --force。所有细节都在 link:

https://github.com/balderdashy/sails/blob/master/0.11-migration-guide.md#differences

由于某种原因,versionSDK META DATA 信息中不可用。在文件 node_modules\sails\node_modules\sails-hook-sockets\lib\parse-sdk-metadata.js 中有一个代码检查版本是否在元数据中不可用然后假设版本是 0.9.0

if (!handshake.query[SDK_META_PARAMS.version]) {
    handshake.query[SDK_META_PARAMS.version] = '0.9.0';
}

所以我将 0.9.0 更改为 0.11.0 瞧!一切正常。

只需将您的 url 更改为如下内容

http://xxx.xxx.xxx.xxx:1234/?__sails_io_sdk_version=0.11.0