簡體   English   中英

Java多客戶端服務器套接字。 管道破損檢測

[英]Java Mult-Client Server Socket. Pipe broken detection

我正在創建一個具有許多客戶端的服務器解決方案。 使用數組列表存儲用戶信息和套接字。 廣播消息...

在客戶端,

當服務器關閉時,將引發異常,我可以捕獲該異常並執行相應的操作。

但是在服務器端,

當客戶端脫機時,服務器將不會引發異常。 有沒有什么方法可以實現。

我現在通過每10秒發送一次板播消息來執行此操作,以查看連接是否正常。 而不是縮短健康檢查董事會廣播消息之間的時間間隔。 是否有諸如setListener之類的方法?

在Java中有很多針對這種類型的連接的解決方案(例如Apache Mina),但是除非客戶端發送一條消息通知服務器即將斷開連接,否則除非在服務器之間的心跳,否則沒有其他方法可以告知。服務器和客戶端失敗,這聽起來像您已實現。 您可以看到使用偵聽器作為故障安全解決方案的問題,因為如果客戶端失敗,它將永遠不會讓服務器知道,並且您將有一個孤立的會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM