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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Air Action Script应用程序和Node.js服务器之间进行通信相关的知识,希望对你有一定的参考价值。

有人可以建议在Air(动作脚本)App和node.js服务器之间进行通信吗?

例如

  1. 使用AMFphp在PHP和Flash(Action Script)应用程序之间进行通信

  2. BlazeDS for Java + Adob​​e Flex和Adobe 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类实例化为requestVars来填写请求数据。
  • 我们通过将URLRequest类实例化为请求来填写url和方法。
  • 我们附加一个load complete事件处理程序来处理响应。
  • 为了捕获错误,我们称之为加载方法。
  • 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/'); 

关于代码段的简要说明:

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

以上是关于如何在Air Action Script应用程序和Node.js服务器之间进行通信的主要内容,如果未能解决你的问题,请参考以下文章

Luat Air201 Air202 Air800 script 1.1.5,core V0019发布

text test_on_air_report_script

如何在 Odoo 11 中通过 do_action() java-script 方法显示 action_id

如何检测和调用用户在特定 AIR 应用程序上本地安装的 AIR 运行时?

Action Script 3. 如何播放一次动画?

如何通过输入 ID 获取项目(在 Action Script+Php 中)