一個基於Node.js的AMF實現

來源:互聯網
上載者:User

用過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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.