[問題] socket連線逾時 setSoTimeout()
我有一個關於連線逾時的問題想請教一下
今天我寫了一個多人連線的小遊戲
為了防止有人突然斷線導致遊戲無法進行
所以我在socket設定了 setSoTimeout(5000)
假如超過五秒鐘沒回應表示可能當機
而五秒鐘一到也如預期的返回了一個java.net.SocketTimeoutException的例外
也中斷了玩家的執行緒
我希望若有人超過五秒鐘沒回應
則Server要通知其他玩家有人斷線
但現在問題是
我沒辦法捕捉java.net.SocketTimeoutException拋出的時間點
我有試過
try {
mySocket.setSoTimeout(5000);
}catch(SocketTimeoutException e){
System.out.println("連線逾時");
}
來捕捉SocketTimeoutException
但一直抓不到
請問一下各位前輩我這樣的寫法有錯誤嘛?
請教一下正確的SocketTimeoutException要怎麼寫呢?
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.69.140
→
06/08 00:24, , 1F
06/08 00:24, 1F