actionscript-3 - 如何在 Air Action Script 应用程序和 Node.js 服务器之间进行通信

标签 actionscript-3 node.js air

有人可以建议Air(Action script)应用程序和node.js服务器之间进行通信的方法吗?

例如

  1. 使用 AMFPHP 在 PHP 和 Flash( ActionScript )应用程序之间进行通信

  2. BlazeDS for Java+Adobe Flex 和 Adob​​e Integrated Runtime (AIR)

请将您的建议、任何教程或 PoC 示例代码发送给我

提前致谢。

最佳答案

这是我为博客编写的示例。我认为代码本身已经很好地解释了。

<小时/> 客户端 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
}

代码片段简介:

  • 我们通过实例化 URLVariables 类来填充请求数据: 请求变量
  • 我们通过将 URLRequest 类实例化为 request 来填写 URL 和方法。
  • 我们附加一个加载完成事件处理程序来处理响应。
  • 为了捕获错误,我们调用了 load 方法。
  • URL 设置为托管 NodeJS 的本地主机端口 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/');

代码片段简介:

  • 该代码监听托管它的本地主机服务器的端口 1337。
  • 解包查询字符串以获取 UserName 变量并进行测试。
  • 服务器响应 true,因为该值等于guest

关于actionscript-3 - 如何在 Air Action Script 应用程序和 Node.js 服务器之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10332567/

相关文章:

ios - 从 iOS8 上的 CameraRoll 加载图像读取 EXIF 方向标签

actionscript-3 - 大数字作为字典中的键 (ActionScript 3)

java - 将 actionscript float 转换为 java

node.js - Grunt watch & LESS - 如何让它更快? (仅编译已更改的文件)

jquery - NodeJS 如何在服务器中获取数据,通过 POST 从 jquery ajax 调用发送

ios - "Uncompiled actionscript"错误

css - CSS 引用的 Flex 3 SWC Assets

javascript - 弹出或警报后闪光灯按钮卡住

javascript - Nodejs Q Promise catch 从未用 Passport js 调用

javascript - 从 Adob​​e Air 中的 Iframe 访问顶部窗口