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

时间:2015-02-26 01:37:00

标签: android node.js sockets sails.js

知道如何在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.'

3 个答案:

答案 0 :(得分:5)

只需将您的网址更改为以下内容

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

由于某些原因,version信息中没有SDK 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并瞧!事情正在发挥作用。