這種通訊總的來說比較簡單,網上有很多類似例子,不再贅述,直接看下面例子。
public static function upload(_error:function,_complete:function)
<?php
header("content-type:text/html;charset=utf-8");//解決中文字元亂碼問題
ini_set("error_reporting","e_all & ~e_notice");
$data = file_get_contents('php://input');
$date2=date("y-m-d h:i:s");
$id= rand(1000, 9000);
$fileid = $date2. '' .$id;
echo
"fileid=".$fileid;
file_put_contents("upload/$fileid.jpg", $data);//存在localhost下面;
?>
這就是在專案中要遇到的問題,總的來說有兩種實現方式:(1)將資訊和檔名稱資訊合在一起傳送,然後在伺服器端進行分割,實現起來與1基本一樣(2)使用as3中的urlvariables,然後通過將畫素資訊和檔名稱賦值給urlvariables裡面的屬性,然後在伺服器端直接讀取。目前這兩種方法都試過,但可行的只有第一種,經過測試發現,將畫素資訊通過urlvariables傳送後,在伺服器端解析不出來,但檔名稱(字串資訊)可以解析出來。下面貼第一種方法的主要**。
public static function upload(_error:function,_complete:function)
<?php
header("content-type:text/html;charset=utf-8");//解決中文字元亂碼問題
ini_set("error_reporting","e_all & ~e_notice");
$data = $globals['http_raw_post_data'];//獲取資料
$dataarray=explode("|separator|",$data );//分割成陣列
$date2=date("y-m-d h:i:s");
$id= rand(1000, 9000);
$fileid='';
switch(count($dataarray,0))//客戶端相容性考慮
echo
"fileid=".$fileid;
?>
php中的名稱和符號拼寫一定要正確。
error
:error
#2101: the string passed to urlvariables.decode() must be a url-encoded query string containing name/value pairs.
at error
$/throwerror()
at flash.net:
:urlvariables/decode()
at flash.net:
:urlvariables()
at flash.net:
:urlloader/oncomplete()
為這個錯誤除錯了好久,謹記,這個錯誤的原因主要是使用urlloaderdataformat.variables 編碼格式的客戶端傳送資料到伺服器後,伺服器反饋到客戶端的資料會被客戶端使用name/value pairs的結構進行解析,如果不是這種或者沒有會引發錯誤,而flash客戶端獲取的資料是從echo輸出的內容取得的。
:void以上**來自 13樓所貼**,簡潔可用
串列埠通訊筆記
串列埠通訊主要用到下面幾個函式 createfile 開啟通訊埠 closehandle 關閉通訊埠 getcommstate 取得埠的引數 setcommstate 設定埠引數 writefile 埠傳送資料 readfile 埠讀取資料 clearcommerror 清除埠錯誤,並取得資訊 pu...
Socket通訊筆記
當socket通訊的3次握手和四次揮手的問題了解了之後,下一步來到實際的程式開發階段了。首先,乙個簡單的應和答。當client第一次發出資訊之前大致有以下過程 如下 client public static void main string args server public static voi...
C Socket SSL通訊筆記
一 x.509證書 1.製作證書 先進入到vs2005的命令列狀態,即 開始 程式 microsoft visual studio 2005 visual studio tools visual studio 2005 命令提示 鍵入 makecert r pe n cn myserver ss m...