Fw: [問題] socket能不能設send timeout

看板java作者 (老千)時間14年前 (2012/01/01 21:38), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
這是android sdk的問題, 我不曉得java會不會遇到相同的問題,所以轉來請教 若違反板規請告知,謝謝 ※ [本文轉錄自 AndroidDev 看板 #1F05tDZb ] 作者: Leeng (老千) 看板: AndroidDev 標題: [問題] socket能不能設send timeout 時間: Sun Jan 1 21:21:15 2012 setSoTimeout只能設read的阻塞時間 可是我的client端,僵在outputStream.write --為了製造訊號差到斷線,我在傳檔傳到一半時關閉無線網路 結果就是卡在write,有辦法更改timeout嗎? 順帶一提,我21:06讓他斷線,現在才拋出exception 也就是說timeout居然要15分鐘 = = ※ 編輯: Leeng 來自: 140.112.217.29 (01/01 21:23) ※ 編輯: Leeng 來自: 140.112.217.29 (01/01 21:39)

01/01 23:01, , 1F
我切斷連線的話會馬上斷線說.....
01/01 23:01, 1F
請問是切斷何者的連線?app還是server? 另外我之前的實驗是,強制關閉app,server的recv會馬上回傳-1; 但是手機斷網,server會被block(除非有設rcv_timeout) 而手機這邊則是僵在那... ※ 編輯: Leeng 來自: 140.112.217.29 (01/01 23:30)

01/01 23:37, , 2F
我想起來了,我當初有寫個執行緒每秒檢查socket、
01/01 23:37, 2F

01/01 23:38, , 3F
outputStream、inputStream 的狀態,如果一出問題,就自動
01/01 23:38, 3F

01/01 23:40, , 4F
把socket徹底關乾淨,再次new socket連線....
01/01 23:40, 4F
對...我現在已經改成差不多這樣了 每秒檢查傳輸進度有無成長 不曉得這麼做有沒有風險 ※ 編輯: Leeng 來自: 140.112.217.29 (01/02 00:18)

01/02 19:03, , 5F
每秒檢查當然有風險 就是比較耗電而且卡效能
01/02 19:03, 5F
文章代碼(AID): #1F067cVb (java)