flex很強大,但如果想讓flex運算元據庫的話必須要通過其他的指令碼語言,可以是php或者asp.net。我嘗試用flex和php通訊,測試成功。開始的時候是從網上搜其他人的經驗,但放在自己這裡總是無法除錯通過,出現各式各樣,莫名其妙的錯誤。然後參考flex官方文件和例項。在flex的手冊中,搜尋「httpservice」,有這樣的描述:在 mxml 檔案中使用 標籤代表 httpservice 物件。當呼叫 httpservice 物件的 send() 方法時,將發出對指定 url 的 http 請求,並且返回 http 響應。可以選擇向指定 url 傳遞引數。如果沒有使用基於伺服器的**服務,則只能使用 http get 或 post 方法。如果將 useproxy 屬性設定為 true 並使用基於伺服器的**服務,則還可以使用 http head、options、trace 和 delete 方法。
看過手冊中httpservice的屬性和方法,又讀了官方的例項原始碼,我寫了flex和php通訊的例子。程式是從flex向php提交乙個數字,php先判斷一下是否是數字,如果是的話,把這個數字乘以10之後返回;如果不是則返回中文提示資訊「不是數字」。
原始碼如下:
demo.mxml的源**:
<?xml version="1.0" encoding="utf-8"?>import
mx.rpc.events.resultevent;
import
mx.rpc.events.faultevent;
import
mx.controls.alert;
public
function
handlexml(event:resultevent):void
public
function
handlefault(event:faultevent):void
]]>
php的原始碼(demo.php)如下:
<?php
if (is_numeric($_request["data1"]))
else
$results = "";
$results = "".$returndata."
";
$results = "";
implode("\n", $results);
exit
;?>
如果碰到輸入的字元不是數字,但在flex中沒有顯示「不是數字」,而是顯示亂碼的情況,可以將demo.php檔案另存為utf-8的格式即可看到正確的中文。在httpservice中,還可以增加method的屬性,值可以設定為post或者get,預設為get。增加此屬性後,php中的$_request["data1"]就可以寫成$_get["data1"]或者$_post["data1"]
socket的簡單通訊例項
分為服務端和客服端,先看服務端吧 做乙個控制台程式,using system using system.collections.generic using system.text using system.net using system.net.sockets namespace socket r...
基於TCP的簡單通訊例項
程式設定了連線數限制,當連線伺服器的數量超過3時,不再接受其他連線。且只實現了客戶端與伺服器之間的通訊。伺服器端 using system using system.collections.generic using system.componentmodel using system.data u...
AJAX簡單非同步通訊例項分析
客戶端 向伺服器發出乙個空請求。如下 伺服器端 向客戶端直接返回乙個字串。如下 複製 如下 response.write 非同步測試成功,很高興 問題一 由於ie 瀏覽器會自動快取非同步通訊的結果,不會實時更新伺服器的返回結果。但firefox 會正常重新整理 為了解決非同步連線伺服器時ie 的快取...