Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从android客户端向sails.js 0.11发送套接字请求_Android_Node.js_Sockets_Sails.js - Fatal编程技术网

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

从android客户端向sails.js 0.11发送套接字请求,android,node.js,sockets,sails.js,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 ... detail

你知道如何在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()请求

但我知道,如果您的服务器运行的是Sails的v.0.11,则需要将Sails.io.js客户端升级到v0.11,因为v0.9不兼容。 迁移指南中对此进行了解释,并给出了如何升级的说明:
sails generate sails.io.js--force
。链接中提供了所有详细信息:


由于某种原因,
版本在
SDK元数据
信息中不可用。在文件
node\u modules\sails\node\u 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

嗨,我对sails.io.js客户端没有任何问题,我的问题是我需要在android应用程序中发出类似socket.get(url)的请求。实际上,我需要的是在不使用sails.io客户端助手方法的情况下向sails.js controller发出请求,而是从android中的应用程序发出请求。目前我使用socket.io-client.java向服务器发送事件我对sails.io.js客户端没有任何问题,我的问题是我需要在android应用程序中发出类似socket.get(url)的请求。实际上,我需要的是在不使用sails.io客户端助手方法的情况下向sails.js controller发出请求,而是从android中的应用程序发出请求。目前我使用socket.io-client.java链接向服务器发布事件Hi Luis,如果你有机会上传你的代码,我也在与sails和android进行斗争,很高兴看到一些东西在工作!嗨,dave,Khawer Zeshan的答案是正确的,它允许你操作套接字并与android通信,你可以使用它从你的应用程序与服务器通信,在这里解释如何与android通信。我希望我的答案会有帮助:)它应该被标记为答案!更改SailsJS源代码永远不是最好的解决方案。