有人可以建议在Air(Action script)App和node.js服务器之间进行通信吗?
e.g。
使用AMFPHP与PHP和Flash(Action Script)应用程序进行通信
BlazeDS for Java + Adobe Flex和Adobe Integrated Runtime(AIR)
请将您的建议,任何教程或PoC示例代码发送给我
先谢谢。
答案 0 :(得分:3)
以下是我为博客撰写的示例。我认为代码本身几乎可以解释自己。
<小时/> 客户端AS3代码:
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设置为Localhost端口1337,其中将托管nodeJS。
变量集是测试字段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/');
简要介绍代码段: