台灣最大程式設計社群網站
線上人數
1171
 
會員總數:246277
討論主題:189813
歡迎您免費加入會員
討論區列表 >> PHP >> PHP+FLEX 在IE產生ERROR #2032問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
PHP+FLEX 在IE產生ERROR #2032問題
價值 : 50 QP  點閱數:3926 回應數:7
樓主

Ch'eng Lin Li
初學者
40 20
373 60
發送站內信

最近在寫FLEX
CLIENT端是使用FLEX做成的FLASH
SERVER端是用PHP SERVER
此PHP SERVER會再去另一個網域取資料(這裡稱ASP SERVER)
這樣做的原因是為了避免FLASH的CROSS-DOMAIN問題

小弟遇到的問題是:
CLIENT端的FLEX 使用HTTPREQUEST呼叫PHP SERVER
PHP SERVER再去ASP SERVER取資料做驗證
驗證完畢後PHP SERVER再將"近萬筆"INSERT指令輸入至MYSQL
以上是小弟程式上的流程

小弟習慣使用FF 所以之前都在FF上做測試 也都很OK
結果想說FF都可以了 那在IE上應該沒問題
試試看?一試就哭了 怎麼會不行...
FLEX顯示的錯誤是

faultDetail: Error: [IOErrorEvent type="ioError"
bubbles=false
cancelable=false
eventPhase=2
text="Error #2032"].
URL: http://my_ip:my_port/*.php?DATA_TYPE=4,5&DATE=56y0Pk8Ych
getStackTrace: null
statusCode: 0
errorID: 0
type: fault
faultCode: Server.Error.Request
faultString: HTTP request error


錯誤只會發生在IE 且是在IE連續發出多個httprequest的時候
因為我在使用IE開FLEX發送一個httprequest的時候
可以正確得到回應 只有在連續發送兩個以上的httprequest時會出錯
但我也試著在PHP SERVER 使用SLEEP()函數 結果沒用
可是在FF內 一切都是美好的!!!

想請教這是哪裡出的問題 感謝 以下附上重要程式碼




PHP SERVER端程式碼




CLIENT端的FLEX程式碼





只有IE會產生ERROR STREAM 2032錯誤
網路上很多這問題
找了解決辦法 依然沒有解決
希望專家能夠給我建議
在此先感謝^^

搜尋相關Tags的文章: [ php ] , [ action script ] , [ httpservice ] , [ error #2032 ] ,
本篇文章發表於2012-05-04 10:13
1樓
作者回應

Ch'eng Lin Li
檢舉此回應
我使用Fiddler軟體監測
FF和IE回傳的http status 都是200 也就是他回傳是正確的
請問為什麼IE在Fiddler顯示http status 200之前
就會產生FaultEvent
這真的很困擾我 請各位不吝嗇提供意見
真的很感恩>"<
本篇文章回覆於2012-05-04 17:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
IE...似乎本身就有限制同一時間,對單一主機的連線數?
所以會有TCPOptimizer去修改這類的東西
(啥MaxConnectionsPerServer,MaxConnectionsPer1_0Server,預設其實也不小了)

你可能還是需要看一下Server的Log
到底是沒送request過來,還是"同時"造成了某些錯誤
本篇文章回覆於2012-05-05 12:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Ch'eng Lin Li
檢舉此回應
TO 那顆爛蔥

感謝您的回應
現在馬上對您的回應做測試!!!
謝謝您提供的意見
實在幫助^^
本篇文章回覆於2012-05-07 09:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Ch'eng Lin Li
檢舉此回應
那顆爛蔥:

您好 我查看了系統LOG(php&mysql)
都沒有出現錯誤...

其實我有個很奇怪的問題

相同條件下,我的 *.html(flex in that html page)在我按下按鈕送出request之後
FF>>>PHP正常收到請求 可以將資料insert to mysql 最後return 成功畫面
IE>>>PHP正常收到請求 可以將資料insert to mysql 重點在這 最後卻不會return成功畫面...
而是顯示錯誤訊息(httpservice fault)
顯示錯誤訊息離我發送請求的時間頗近的
例如我insert 1萬筆資料需要10分鐘好了
我用FF就可以等到10分鐘後insert成功顯示畫面
但是我用IE可能1分鐘就顯示錯誤訊息 而insert還在進行...

為什麼IE不能乖乖等我把資料insert to mysql呢?

期待您給的回覆!!!
本篇文章回覆於2012-05-07 10:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
http://support.microsoft.com/kb/813827/zh-tw
不知道是不是這個?

我通常將php執行逾時3分鐘就已經極冒險了...(公司的POS系統,但仗著100%不會是IE使用,就...)
更常的執行逾時時間,我只在command line上使用...
本篇文章回覆於2012-05-07 23:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Ch'eng Lin Li
檢舉此回應
那顆爛蔥:

謝謝你的回覆
這篇文章我有看到
然後我也改了他的設定值
結果還是讓人失望(IE可以顯示成功資訊 卻不會做INSERT動作!!!根本沒跑INSERT)
接著打算使用flex內建的Data/Service試試看

不知能否請教一下
我的php server如何去asp server上取資料回來
php使用file("URL") or file_get_content("URL")
asp使用Response.Write

這樣可以嗎?

抱歉因為星期三要結束這方面的程式
有點急 再次說聲感謝你的幫忙^^
本篇文章回覆於2012-05-08 00:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
最有價值解答

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
可以啊
反正只要是透過http協定的都可以這樣搞
(前題是,php有允許開啟遠端檔案)
如果需要POST值過去的,那就要用到cURL了 :P
本篇文章回覆於2012-05-10 00:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.