我創建了一個RMI連接,但我不知道如何在客戶端或崩潰通知服務器。我找到未引用()方法,但它不起作用。任何想法?
(服務器是多客戶端,只有一種對象傳遞給客戶端,但任何客戶端都有不同的實例)。
謝謝。爪哇 - 檢測客戶端崩潰與RMI
2
A
回答
6
但問題是,如果客戶端崩潰,很難把它做任何事情,你最終等待超時。
通常的解決辦法是設置一個「心跳」,週期性呼叫;如果客戶端心跳在2個時期後沒有找到你,你會發現它已經死亡。
2
未引用()方法確實工作,但它需要的DGC時間間隔在做之前。這隨JDK版本而變化。上次我看了十分鐘。有系統屬性可以控制這一點,請參閱Java RMI主頁。該設施將通過客戶端特定的RemoteSession對象使用,該對象實現客戶端需要的API,跟蹤客戶端狀態並實現Unreferenced作爲防止客戶端保持活動狀態或通過API註銷的失敗保護。
有沒有其他的檢測除了跟蹤,當他們最後一次叫你,除非你有客戶端回調,在這種情況下,服務器可以嘗試調用客戶端的其他客戶端崩潰可靠的方法。然而,這些被廣泛認爲是安全風險,並且通常在沒有特殊處理的情況下通過防火牆不起作用。
相關問題
- 1. 檢測客戶端的JavaScript崩潰
- 2. 使用RMI檢測服務器崩潰
- 3. 如何HTTP客戶端檢測到Web服務器崩潰
- 4. EJB3 RMI客戶端
- 5. 爪哇 - 如何從服務器發送通知到客戶端
- 6. 爪哇 - WorNet - 同義詞檢測(extjwnl 1.8)
- 7. RMI多個客戶端
- 8. JBoss作爲RMI客戶端
- 9. java rmi客戶端例外
- 10. Java RMI - 客戶端超時
- 11. RMI客戶端跟蹤
- 12. Android TCP客戶端/服務器崩潰
- 13. 爪哇傑克遜org.codehaus.jackson.map.exc.UnrecognizedPropertyException
- 14. 如何檢測客戶端是否使用Qt服務器崩潰(或退出)
- 15. java RMI:如何檢測服務器是否崩潰?
- 16. 爪哇 - socket編程
- 17. 卡夫卡 - 爪哇 - 從crashs
- 18. iPhone - 檢測崩潰,提示用戶發送崩潰日誌
- 19. WithDraw錢從帳戶(爪哇)
- 20. Java RMI - 將客戶端存根發送給其他客戶端
- 21. Java RMI超時(崩潰)
- 22. 硒,爪哇,waitForCondition
- 23. 爪哇 - 的readObject與NIO
- 24. 爪哇分裂並與值
- 25. 爪哇 - NoSuchMethodException與反思
- 26. 爪哇 - 麻煩與實施
- 27. iPhone GameKit:客戶端檢測到其他客戶端
- 28. 客戶端Javascript崩潰的服務器端日誌記錄
- 29. 爪哇位運算
- 30. 爪哇VoIP記錄
感謝您的回覆。這是我最後的選擇,因爲我希望有更好的選擇。無論如何,服務器如何調用客戶端?服務器,現在,只使用:\t \t \t LocateRegistry.createRegistry(RMI_PORT); Naming.rebind(...); 有沒有一種方法來「ping」客戶端? 再次感謝:) – Simon 2011-05-30 05:18:43