看板 java 關於我們 聯絡資訊
我有一個關於連線逾時的問題想請教一下 今天我寫了一個多人連線的小遊戲 為了防止有人突然斷線導致遊戲無法進行 所以我在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
qrtt1:替 client 加入"心跳"的訊號,server 時間內沒收到就當斷線 06/08 00:24