有人可以建议 Air(Action script) App 和 node.js 服务器之间的通信方式吗?
例如
使用 AMFPHP 在 PHP 和 Flash(Action Script) 应用程序之间进行通信
适用于 Java+Adobe Flex 和 Adobe Integrated Runtime (AIR) 的 BlazeDS
请将您的建议、任何教程或 PoC 示例代码发送给我
提前致谢。
有人可以建议 Air(Action script) App 和 node.js 服务器之间的通信方式吗?
例如
使用 AMFPHP 在 PHP 和 Flash(Action Script) 应用程序之间进行通信
适用于 Java+Adobe Flex 和 Adobe Integrated Runtime (AIR) 的 BlazeDS
请将您的建议、任何教程或 PoC 示例代码发送给我
提前致谢。
这是我为博客编写的示例。我认为代码本身几乎可以解释自己。
var urlString:String = "http://localhost:1337/";
function Submit():void
{
var requestVars:URLVariables = new URLVariables();
requestVars.Username = "guest";
var request:URLRequest = new URLRequest();
request.url = urlString;
request.method = URLRequestMethod.GET;
request.data = requestVars;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
try { loader.load(request); }
catch (error:Error) { // Handle Immediate Errors }
}
function loaderCompleteHandler(e:Event):void
{
trace(e.target.data); // Response Text
}
关于代码片段的简要说明:
URL 设置为将托管 nodeJS 的 Localhost 端口 1337。
变量集是在服务器脚本中检查的测试字段 UserName。
服务器端 NodeJS 代码:
var http = require('http'), url = require('url');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
var urlObj = url.parse(req.url, true);
if(urlObj.query["Username"] == "guest") res.end("True");
else res.end("False");
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
关于代码片段的简要说明: