转:Flash与.NET的通信(一):XMLConnector的应用
生活随笔
收集整理的這篇文章主要介紹了
转:Flash与.NET的通信(一):XMLConnector的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Flash與.NET的通信(一):XMLConnector的應用
一:簡介
? ?? ?? ?XML是已成為Internet中結構化數據交換的標準,大多數服務器技術(如ASP.NET)都支持XML。從Flash MX開始,對XML也提供了良好的支持,我們將通過XML作為服務器端ASP.NET與客戶端Flash的數據交換。
? ?? ???XMLConnector 組件(僅限Flash Professional)是一種 Flash MX 2004 v2 組件,它的用途是使用 HTTP get 操作或post 操作讀或寫 XML 文檔。它充當其他組件和外部 XML 數據源之間的連接器.XMLConnector 使用 Flash MX Professional 2004 創作環境中的數據綁定功能或動作腳本代碼與應用程序中的組件進行通信。XMLConnector 組件具有屬性、方法和事件,但它沒有運行時可視外觀。XMLConnector 組件實現了 RPC(遠程過程調用)組件 API、一組方法、屬性,以及用于定義向外部數據源發送參數和從其接收結果的便捷方法的事件。
? ?? ???二:測試平臺
? ?? ? 語言: ASP.NET 2.0/1.x(C#)? ? Actionscrīpt 2.0
? ?? ? 環境: IIS6.0? ?Win Server 2003??IE7??FlashPlayer8
? ?? ? 開發平臺:Visual Studio 2005 , Flash 2004 Professional
? ?? ? 三:知識要點
? ?? ?? ???Actionscrīpt? ?? ???XMLConnector:詳細請參見附件(Flash7.0組件.PDF)
? ?? ?? ???屬性:XMLConnector.direction? ?指示是發送、接收數據還是兩者同時進行。值為:"receive": 沒有params 數據被發送到 URL。通過 HTTP GET 訪問 XML 文檔的 URL,并 預期從該 URL 收到有效的 XML 數據。 "send/receive":params 數據被發送到 URL,并預期從該 URL 收到有效的 XML 數據。
? ?? ?? ? 屬性:XMLConnector.URL? ?此組件在執行 HTTP 操作時所使用的 URL(頁面或XML文件URL地址)。
? ?? ?? ? 屬性:XMLConnector.params? ? 指定在執行下一個 trigger() 操作時要發送到服務器的數據。
? ?? ?? ? 屬性:XMLConnector.results? ? 標識作為 trigger() 操作的結果從服務器接收的數據。
? ?? ?? ? 方法:XMLConnector.trigger()? ?啟動遠程過程調用。
? ?? ?? ? 事件:XMLConnector.result? ?? ?? ?遠程過程調用成功完成后廣播
? ?? ?? ? 事件:XMLConnector.send? ?? ?? ? 在處理 trigger() 操作期間(在收集了參數數據后,但在驗證這些數據和啟動遠程過程調用前)廣播。此位置適合于存放將在調用前修改參數數據的代碼。
? ?? ?四。具體實現
? ?? ?? ???新建Flash文檔;
? ?? ?? ???主要組件:Button(btnSend),輸入文本(inputTextA),輸入文本(inputTextB), 輸入文本(Result);
? ?? ?? ???服務器頁面:XMLConnectorTest.aspx接收Flash的字符串A和B,將A和B的內容組合后送會給Flash
? ?? ?? ???功能:點擊按鈕Button(btnSend)時,將輸入文本(inputTextA)和(inputTextB)的內容發送給XMLConnectorTest.aspx頁面,頁面接收到內容后,將兩字符串相加獲得結果,并將字符串回送給Flash,顯示在 輸入文本(Result);
? ?結果:Flash中“輸入文本(inputTextA)”輸入Hello,“輸入文本(inputTextB)”輸入XmlConnector,點擊發送按鈕后,接收數據為“HelloXmlConnector”,
一:簡介
? ?? ?? ?XML是已成為Internet中結構化數據交換的標準,大多數服務器技術(如ASP.NET)都支持XML。從Flash MX開始,對XML也提供了良好的支持,我們將通過XML作為服務器端ASP.NET與客戶端Flash的數據交換。
? ?? ???XMLConnector 組件(僅限Flash Professional)是一種 Flash MX 2004 v2 組件,它的用途是使用 HTTP get 操作或post 操作讀或寫 XML 文檔。它充當其他組件和外部 XML 數據源之間的連接器.XMLConnector 使用 Flash MX Professional 2004 創作環境中的數據綁定功能或動作腳本代碼與應用程序中的組件進行通信。XMLConnector 組件具有屬性、方法和事件,但它沒有運行時可視外觀。XMLConnector 組件實現了 RPC(遠程過程調用)組件 API、一組方法、屬性,以及用于定義向外部數據源發送參數和從其接收結果的便捷方法的事件。
? ?? ???二:測試平臺
? ?? ? 語言: ASP.NET 2.0/1.x(C#)? ? Actionscrīpt 2.0
? ?? ? 環境: IIS6.0? ?Win Server 2003??IE7??FlashPlayer8
? ?? ? 開發平臺:Visual Studio 2005 , Flash 2004 Professional
? ?? ? 三:知識要點
? ?? ?? ???Actionscrīpt? ?? ???XMLConnector:詳細請參見附件(Flash7.0組件.PDF)
? ?? ?? ???屬性:XMLConnector.direction? ?指示是發送、接收數據還是兩者同時進行。值為:"receive": 沒有params 數據被發送到 URL。通過 HTTP GET 訪問 XML 文檔的 URL,并 預期從該 URL 收到有效的 XML 數據。 "send/receive":params 數據被發送到 URL,并預期從該 URL 收到有效的 XML 數據。
? ?? ?? ? 屬性:XMLConnector.URL? ?此組件在執行 HTTP 操作時所使用的 URL(頁面或XML文件URL地址)。
? ?? ?? ? 屬性:XMLConnector.params? ? 指定在執行下一個 trigger() 操作時要發送到服務器的數據。
? ?? ?? ? 屬性:XMLConnector.results? ? 標識作為 trigger() 操作的結果從服務器接收的數據。
? ?? ?? ? 方法:XMLConnector.trigger()? ?啟動遠程過程調用。
? ?? ?? ? 事件:XMLConnector.result? ?? ?? ?遠程過程調用成功完成后廣播
? ?? ?? ? 事件:XMLConnector.send? ?? ?? ? 在處理 trigger() 操作期間(在收集了參數數據后,但在驗證這些數據和啟動遠程過程調用前)廣播。此位置適合于存放將在調用前修改參數數據的代碼。
? ?? ?四。具體實現
? ?? ?? ???新建Flash文檔;
? ?? ?? ???主要組件:Button(btnSend),輸入文本(inputTextA),輸入文本(inputTextB), 輸入文本(Result);
? ?? ?? ???服務器頁面:XMLConnectorTest.aspx接收Flash的字符串A和B,將A和B的內容組合后送會給Flash
? ?? ?? ???功能:點擊按鈕Button(btnSend)時,將輸入文本(inputTextA)和(inputTextB)的內容發送給XMLConnectorTest.aspx頁面,頁面接收到內容后,將兩字符串相加獲得結果,并將字符串回送給Flash,顯示在 輸入文本(Result);
| Actionscrīpt: btnSend.onRelease = function()? ?//點擊發送按鈕時執行 { ? ?? ?xmlConn.ignoreWhite = true;??//默認設置為 false。當設置為 true 時,在分析過程中將放棄僅包含空白的文本節點。 ? ?? ?xmlConn.direction = "send/receive";??//方向為發送并且接收 ? ?? ?xmlConn.URL = http://localhost/FlashWebTest/XMLConnectorTest.aspx;??//(換成自己ASPX的URL,可以為相對路徑,注:相對路徑下必須將Flash嵌入IE中播放) ? ?? ?var strXml= "<SendInfo><TextA>"+inputTextA.text+"</TextA><TextB>"+inputTextB.text+"</TextB></SendInfo>"; //定義Xml字符串獲取兩個輸入文本的值 ? ?? ?xmlConn.params = new XML(strXml);??//定義要發送的XML,并送給發送參數 ? ?? ?xmlConn.addEventListener("send", sendFunction);? ? //定義發送時過程調用 ? ?? ? xmlConn.addEventListener("result", resultFunction); //定義接收時的過程調用 ? ?? ?xmlConn.trigger();? ?//啟動遠程過程調用 }; //發送函數 function sendFunction(e) { ? ?? ???Result.text = "正在發送..." } //接收函數 function resultFunction(e) { ? ?? ?? ?var resultXml:XML = new XML(); ? ?? ?? ?resultXml.ignoreWhite = true; ? ?? ?? ?resultXml.parseXML(e.target.results);? ?//獲取接收后得值results(接收的XML字符串與ASPX頁面發送的一致) ? ?? ?? ?if(resultXml.firstChild.nodeName == "result") ? ?? ?? ?{ ? ?? ?? ?? ?? ?? ? Result.text = e.target.results.toString().slice(8,-9); ? ?? ?? ?} ? ?? ?? ?else ? ?? ???{ ? ?? ?? ?? ?? ???Result.text = "接收錯誤!"; ? ?? ???} } stop(); |
| ASP.NET (C#) XMLConnectorTest.aspx protected void Page_Load(object sender, EventArgs e) { ? ?? ???Stream xmlStream = Request.InputStream; ? ?? ???DataSet DS = new DataSet(); ? ?? ???DS.ReadXml(xmlStream); ? ?? ???string xmlStr = DS.GetXml(); ? ?? ???XmlDocument xmlDoc = new XmlDocument(); ? ?? ???xmlDoc.LoadXml(xmlStr); ? ?? ???string strA = xmlDoc.SelectSingleNode("SendInfo").SelectSingleNode("TextA").InnerText; ? ?? ???string strB = xmlDoc.SelectSingleNode("SendInfo").SelectSingleNode("TextB").InnerText; ? ?? ???string resultXml = "<result>"+strA+strB+"</result>";//建立的XML字符串與Flash接收的字符串格式一致 ? ?? ???Response.Write(resultXml); } |
? ?結果:Flash中“輸入文本(inputTextA)”輸入Hello,“輸入文本(inputTextB)”輸入XmlConnector,點擊發送按鈕后,接收數據為“HelloXmlConnector”,
轉載于:https://www.cnblogs.com/Magicam/archive/2008/08/21/1273276.html
總結
以上是生活随笔為你收集整理的转:Flash与.NET的通信(一):XMLConnector的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创建xmlhttp对象
- 下一篇: [沪江日语电台]ACG杂货铺02-乱唱地