Articles of actionscript 3

是否有可能在浏览器中运行Adobe Air应用程序?

我正在学习本教程 , 该教程描述了使用adobe动作脚本3.0连接node.js应用程序的方式。 这样,我可以将实时video数据(由不同应用程序的UDP接收)呈现给其他用户。 我的问题是 – 是否有可能使接收到的数据embedded到我的HTML / PHP网站的video播放器? 我查了一下官方文档 ,里面有一句话: The DatagramSocket class can only be used in Adobe AIR applications and only in the application security sandbox. 并在这个论坛上有人写道: You can run an Adobe Air application FROM the browser. But you cannot run an Adobe Air applicatin WITHIN the browser. Indeed, Adobe Air wraps […]

通过TLS连接发送跨域策略以通过节点js进行刷新

我有一个客户端在闪存as3。 我有2个服务器,一个主要用于Flash客户端和一个套接字策略服务器。 例如,我在端口843上运行套接字策略服务器,在任何端口X上运行我的客户端。 现在,当我连接我的Flash客户端,使用这个: Security.loadPolicyFile("xmlsocket://domain.com:port"); SecureSocket.connect(ip, port); 它实际上首先连接到我的策略套接字服务器,发送一个策略文件请求行,并接收我使用我的服务器发送的那个看起来像这样的: tls.createServer(options, function(sock) { sock.on('data', function(data) { console.log('Data receveid: '.cyan + data + ' from ' + sock.remoteAddress); if (data == "<policy-file-request/>\0") { sock.write('<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy><site-control permitted-cross-domain-policies="all"/><allow-access-from domain="*"></cross-domain-policy console.log('Sent policy file to: '.green + sock.remoteAddress); } … 之后,连接自动closures。 然后尝试连接到我的真实服务器,并再次发送到服务器的策略文件请求线,然后连接closures。 从现在开始,我真的不知道该怎么做,一直试图整天在网上search。 任何人都知道我错过了什么?

Flash + Node.JS + Socket.io卡在握手授权

我正在写一个小型游戏,显然是基于套接字的。 一切工作正常在localhost时,但是当我从我的专用服务器运行.swf文件,并试图连接到node.js服务器,连接被卡在“握手授权”: info: Server starting… info – socket.io started info: Listening on port 4000 info: Server started. debug – client authorized info – handshake authorized _kqPhvoD6jYI-c1Gr7zu 这就是它。 本地SWF文件 – >本地Node.JS – >工作。 本地SWF文件 – >远程Node.JS – >的作品。 远程SWF文件 – >远程Node.js – >不起作用。 节点版本0.10.12。 这不是防火墙或防病毒软件。 尝试在不同的端口上运行。 代码示例: //setup express for serving crossdomain on same port as […]

AIR,URLRequest并将videofile upload到NodeJS服务器

我有一个NodeJS服务器设置在本地主机(用于testing),我正在使用上传的video文件运行FFMPEG。 这是我正在上传的实际节点应用程序。 https://github.com/madebyhiro/codem-transcode 如果我使用OSX控制台运行curl作业,实际的转换过程将正常工作 sudo curl -d '{"source_file": "MASTER.flv","destination_file":"converted.mp4","encoder_options": "-vcodec libx264 -vb 416k -s 320×180 -y -threads 0"}' http://localhost:8080/jobs 所以我知道节点服务器运行正常。 您可以看到特定的JSON对象是HTTP POST请求的一部分。 (在我的AIR客户端代码示例中,这是我有意留空的params对象。) 在客户端,我使用的AIR桌面应用程序简单地上传video文件。 许多问题 主要问题只是您不能将同一台计算机上的file upload到本地服务器? 我从我的requestHeaders错过了什么吗? 我应该使用contentType =“multipart / form-data”还是其他一些contentType? 应该contentType作为标题的一部分,我已经做了或定义为实际的UrlRequest对象的属性? 我应该使用UrlLoader.load而不是File.upload? 是file.url格式正确(假设我的str值是正确的)? 在我的uploadFile代码方法下面的任何其他错误或遗漏? 如果所有上述问题都得到了准确的答复,我还是要奖励一大笔奖金,但是最好还是参考答案或代码样本。 这里是另一个相关的问题,一些有用的信息POSTfile upload使用URLRequest 这里是相关的上传代码。 str是我正在上传的实际video文件的本地path。 如前所述,JSON 参数对象已被故意留空,所以需要适当的格式才能正常工作。 function uploadFile(str:String):void { var params:Object={} var jsonOb:String = JSON.stringify(params); var hdr:URLRequestHeader = […]

AS3能够识别头部的CORS权限吗?

我试图从域1使用AS3命中域2运行node.js / express 当我做 var request:URLRequest = new URLRequest(url); request.method = URLRequestMethod.POST; 它试图打到[url]/crossdomain.xml并得到一个404。 在运行express.js的服务器上,它返回CORS的东西,而不是作为一个独立的文件在特定的路线,如下所示: app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); 有什么我可以做的,除了把CORS文件放在/crossdomain.xml ,这将使AS3能够识别标题中返回的权限?

从AS3客户端运行MongoDB查询?

是否有可能从AS3客户端AIR应用程序运行在服务器端的mongo shell的本地Javascript函数? 我有很多的经验,在embedded/加载HTML的地方embeddedSWF的Javascript方法,我想知道如果我可以做一个服务器端请求来运行驻留在服务器上的JavaScript方法。 更具体地说,我对在基于V8或类似的构build的mongoDB控制台上运行命令感兴趣。 例如,在官方的mongoDB网站上embedded了一个控制台。 我不知道这个控制台实际上是连接到服务器,还是只是一个模拟? 我不想使用node.js,如果我可以使用V8或直接连接到控制台,是否有可能? 谢谢

如何使服务器了解接收的数据types,反之亦然

我有Flash应用程序,它是简单的asynchronous,基于nodejs的Flash聊天。 情况是:服务器和客户端的所有数据都是一样的,只是一些文本。 我的问题是:如何使客户端发送特定的数据,以便服务器了解该数据是什么,并运行特定的function。 客户如何理解其获取的数据types以及如何处理。 例如:客户端发送消息“hello”,以便服务器知道这只是一个聊天消息。 然后客户端发送“awesome_btn_cliked”,这是一些function应该在服务器端进行处理,以便服务器了解,并将结果数据发送回客户端。 客户发送:hello =只是一个广播给所有客户的消息。 将客户端'awesome_btn_clicked':function {1 + 1 = 2} – >结果广播给所有客户端。 就是这样 我希望我能充分解释我需要的东西。

使用TLS(SSL)从flash v11 +连接到nodejs

我最近开始创build一个服务器,用于我自己构build的mmorpg,我使用节点js作为服务器语言。 我在网上search了一下,发现使用TLS是authentication和通过TCP / IP创build安全会话的方法。 一切工作正常,我创build了一个证书,并使用openssl自己用我在网上find的一些命令对它进行了签名,它给了我可以用在我的服务器上的密钥和证书。 我尝试用openssl连接,一切正常。 js使用的证书节点是PEM格式。 这就是我使用的服务器代码: var tls = require('tls'); var fs = require('fs'); var options = { key: fs.readFileSync(__dirname + '/server.key'), cert: fs.readFileSync(__dirname + '/server.crt'), //requestCert: true, //rejectUnauthorized: false, }; tls.createServer(options, function(sock) { //stuff here }).listen(PORT, HOST); 现在,我的游戏是闪光灯。 所以我尝试连接使用SecureSocket进来的Flash Player版本10+我相信。 问题是闪存使用DER X.509证书格式。 所以我使用openssl将.PEM文件转换为.DER文件,并将其加载到Flash中。 当我尝试连接到我的服务器(这是两个本地主机,想提一下它改变的东西),我可以看到连接尝试在我的服务器,但它立即closures连接。 这是来自闪存的错误: Secure socket supported: true ioErrorHandler: [IOErrorEvent type="ioError" […]

在本地环境中从闪存套接字连接到TCP服务器

我已经做了一个分发版本的SWF文件给客户端在他们的电脑上使用。 我有一个从该swf文件连接的TCP服务器。 在testing之前,我已经在Adobe网站上阅读了一些与政策文件有关的文章 我试图testing一下,并使用了nodejs和swf文件 但我失败了 这是它的样子。 在根上的crossdomain.xml <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*" to-ports="3000" /> </cross-domain-policy> tcp_server.js var sys = require("sys"), net = require("net"); var server = net.createServer(function(stream) { stream.addListener("connect", function() { sys.puts("Client connected"); stream.write("hello\r\n"); }); stream.addListener("data", function(data) { sys.puts("Received from client: " + data); stream.write(data); }); stream.addListener("end", function() { sys.puts("Client disconnected"); […]

Socket.IO 1.2.1和Flash ping超时

我正在使用NodeJS和Socket.IO(v 1.2.1)作为服务器后端和Flash客户端的多玩家游戏。 用Flash我用这个连接到Socket.IO( https://github.com/redannick/FlashSocket.IO/tree/1.0.x )。 我遇到的主要问题是,在10分钟左右的游戏过程中,有些客户端由于ping超时而断开连接。 我做了NodeJS的打印日志,我得到的是: engine:ws writing "3" +0ms socket.io:client client close with reason ping timeout +40.2m socket.io:socket closing socket – reason ping timeout +40.2m socket.io:client ignoring remove for l7G1SDolb60nG3XRAAAA +1ms User disconnected. Reason: ping timeout 在Flash控制台中类似的东西: pong – 20:23:41 – stop pong – 22:12:8 – start webSocketFatal: Server Timed Out!! 通常我每个房间有5个玩家,只有2 – […]