[問題]volley Connect 錯誤已刪文

看板AndroidDev作者 (voli)時間9年前 (2016/06/05 16:30), 9年前編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/1
大家好,初次使用網路部分的功能, 有以下問題想請各位幫忙, 主要功能: 使用volley 連 php, 初始頁面有多個按鈕, 根據不同按鈕Intent不同頁面, 不同頁面的程式碼皆相同, 只是連結的php不同, ( String url = "http://xxx.xxx.xxx.xxx/A.php"; /* 不同Button 對應不同 PHP String url = "http://xxx.xxx.xxx.xxx/B.php"; String url = "http://xxx.xxx.xxx.xxx/C.php"; */ ) 程式碼如下: http://ideone.com/CtSKyx ------------ 遇到問題: APP可以順利執行,也能撈出資料並顯示, 但!連線10次大概有一半的機率會連線出錯, 會不定時輪流出現以下錯誤訊息, java.net.ConnectException: failed to connect to /xxx.xxx.xxx.xxx (port 80) after 5000ms: isConnected failed: ECONNRESET (Connection reset by peer) java.net.ConnectException: failed to connect to /xxx.xxx.xxx.xxx (port 80) after 5000ms: isConnected failed: ECONNREFUSED (Connection refused) 有查過相似問題,大多都與IP有關, 可我的IP 是 VM 實體IP, 不是127.0.0.1或local, 也有開 permission, 有在電腦 Ping過IP 皆正常連線, 使用瀏覽器開php也正常, 這個問題困擾了我一段時日, 希望大家能幫忙, 給我一點方向提示, 謝謝各位。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.47.240.34 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1465115423.A.A10.html

06/05 17:22, , 1F
Timeout 時間過短,volley預設2500ms,所以必須視你實
06/05 17:22, 1F

06/05 17:22, , 2F
際需求調整
06/05 17:22, 2F
感謝你的建議,我知道預設時間是2500ms,所以程式碼其實已經調整成5000ms了, 之前有用手機瀏覽器測試過及電腦ping過最大傳回時間,其實也才63ms而已, 甚至我也有將時間改成10秒過,但還是會出現連線失敗的訊息。 ※ 編輯: volip (1.175.160.9), 06/06/2016 14:10:18

06/06 17:07, , 3F
會不會只是手機網路環境不穩
06/06 17:07, 3F
感謝你的建議,手機有在別處測過皆是如此,網路部分, 用手機瀏覽器撈php也是正常顯示,速度也很快,就是在app不行。

06/06 18:12, , 4F
php server是你能控制的嗎?先架個區網環境測試吧
06/06 18:12, 4F

06/06 18:23, , 5F
另外你為什麼要post json,server要求嗎?
06/06 18:23, 5F

06/06 18:26, , 6F
通常都只會要post params,json php都要另外處理
06/06 18:26, 6F
感謝你的建議,json php的部分我有另外處理,都很正常可以顯示,server的部分 我只能更改設定,但沒辦法架區網在他底下測試,因為server在其他地方。 ※ 編輯: volip (1.175.160.9), 06/06/2016 19:30:26

06/07 16:27, , 7F
要不然只好手動寫,http require的method,看http status
06/07 16:27, 7F

06/07 16:28, , 8F
是request
06/07 16:28, 8F
文章代碼(AID): #1NK-CVeG (AndroidDev)