龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

一个基于Node.js的AMF实现

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
用过AMF的人应该知道这个东西不仅高效,而且极大地解除了服务器端和客户端的代码耦合度。今天恰巧发现github上有个基于node.js的AMF实现,于是搞点代码玩了一下,hoho~。下面是Flash通

用过AMF的人应该知道这个东西不仅高效,而且极大地解除了服务器端和客户端的代码耦合度。今天恰巧发现github上有个基于node.js的AMF实现,于是搞点代码玩了一下,hoho~。下面是Flash通过AMF与node.js通信的一个例子:

首先定义服务器端的类和方法

  1. exports.sayHello = function( callback ){  
  2.     return 'Hello World';  

然后使用node.js创建一个server,把这个AMF服务跑起来。

  1. //定义端口,主机,过期时间。  
  2. var listenPort = 8001;  
  3. var listenHost = 'localhost';  
  4. var timeout = 5000;  
  5.    
  6. //包含对应的服务器类  
  7. var methods = require('./amf-methods');  
  8.    
  9. //包含amf的实现库  
  10. var server = require('../../node-amf/http-server');  
  11. //启动服务  
  12. server.start( listenPort, listenHost, methods, timeout ); 

接着Flash的呼叫AMF方式还是那一套:

  1. package {  
  2.     import flash.display.Sprite;  
  3.     import flash.net.NetConnection;  
  4.     import flash.net.Responder;  
  5.    
  6.     public class NodeJS_AMF extends Sprite {  
  7.    
  8.         protected var connection:NetConnection;  
  9.         private var responder:Responder;  
  10.         private var host:String = "http://localhost:8001/";  
  11.    
  12.         public function NodeJS_AMF() {  
  13.            responder = new Responder(this.onResult, this.onFault);  
  14.            connection = new NetConnection();  
  15.            connection.connect(host);  
  16.            connection.call("sayHello", responder);  
  17.         }  
  18.    
  19.         private function onResult(e:*):void{  
  20.            trace(e);  
  21.         }  
  22.         private function onFault(e:*):void{  
  23.            trace(e);  
  24.         }  
  25.    
  26.     }  

have fun!

原文:http://www.colorhook.com/blog/?p=829

精彩图集

赞助商链接