返回列表 上一主題 發帖

[發問] FLASH 與 AMFPHP連線問題

[發問] FLASH 與 AMFPHP連線問題

請問一下有關於FLASH 與 AMFPHP連線問題

寫了很簡單的程式,主要是按下按鈕後就可以得到一個字串 ──

FLASH  CS4:
  1. var connection:NetConnection;
  2. var res:Responder;

  3. log_txt.text = "輸入文字~";
  4.                
  5. res = new Responder(onResult,onFault);
  6. connection = new NetConnection();
  7. connection.connect("/amfphp/gateway.php");
  8. set_btn.addEventListener(MouseEvent.CLICK,get_name);
  9. function get_name(e:Event){
  10.         connection.call("getUser.getName",res);
  11. }
  12. function onResult(r:Object){log_txt.text = "連結成功:" + r as String; }
  13. function onFault(r:Object){log_txt.text = "連結失敗:" + r as String;}
複製代碼
PHP:
  1. class getUser{
  2.         function getName(){
  3.                 return "這是測試員1號";
  4.         }
  5. }
複製代碼
使用AMFPHP的browser測試function是毫無問題的!
但是使用FLASH連結就沒有辦法正確出現我要的值!會顯示連結失敗。
位置也確定放置正確了。FLASH的檔案確實是放在www下的一個資料夾內。


經過其他測試後,導出這樣子一個error:
#2126: NetConnection 物件必須連線。

但是確實是照著書上範例去寫的,可否麻煩老師及各位為我解答呢^^,謝謝!

回復 1# nashia

應該就是位置設置不對
  1. connection.connect("/amfphp/gateway.php");
複製代碼
FLASH放在www路徑下的資料夾,那AMFPHP你是放置在哪個位置呢?
心安,平安   為了論壇的永續經營,您不妨 贊 助 論 壇
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

本帖最後由 nashia 於 2010-7-12 14:46 編輯

回復 2# 小誌


整個amfphp的資料夾都放在www下呢><

TOP

回復  小誌


整個amfphp的資料夾都放在www下呢>
nashia 發表於 2010-7-12 14:15


我也寫了一個,就沒你所說的問題,PHP的檔案記得要存成ANSI格式

唯一想到可能的問題就是防火牆,把防火牆關掉試試
心安,平安   為了論壇的永續經營,您不妨 贊 助 論 壇
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

回復 4# 小誌


    收到 !!  我去把防火牆關起來...!!!!!
    我的PHP檔案與gateway.php內的編碼全部換成BIG5

-----------------------------

    我已經關掉防火牆了跟改big5了,還是沒辦法,會一直run 連結失敗呢...   
    失敗的responder這裡會得到一個object~所以這是指有call到function但是沒有得到正確的return值嗎?

-------------------------------
    還是說是環境問題?   不過我嘗試用了appserv2.5.10、IIS5.1、apache2.2.3+php5.2,都沒辦法呢....(所以其實是要重灌XP嗎?)

TOP

回復 5# nashia


    我是指存檔格式要用ANSI,跟BIG5有何關係?

appserv2.5.10、IIS5.1、apache2.2.3+php5.2????????
作業系統又是XP?????????????


run 連結失敗是何處發出的錯誤訊息,你是用瀏覽器連結網頁看,還是直接FLASH偵錯看?
把你的FLASH專案檔案壓縮後上傳讓我試試
心安,平安   為了論壇的永續經營,您不妨 贊 助 論 壇
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

connection.connect("/amfphp/gateway.php");
是不是改成
connection.connect("http://[放主機ip]/[放gateway.php的路徑]");

TOP

        靜思自在 : 【時日莫空過】一個人在世間做了多少事,就等於壽命有多長。因此必須與時間競爭,切莫使時日空過。
返回列表 上一主題