我有一個小型客戶端服務器應用程序,它涉及客戶端在一組端口(90,6100,6200)上ping服務器。我使用inet.isReachable(30000)
來監視服務器是否響應客戶端。關閉連接到端口,沒有在Java中存在套接字綁定
最後,我想確保當我重新運行我的應用程序時,任何現有的連接到這些端口都將被刪除。
我該如何去做?
當我使用InetAddress時,有沒有辦法自動關閉連接?它似乎沒有任何方法來終止現有連接到地址?
我有一個小型客戶端服務器應用程序,它涉及客戶端在一組端口(90,6100,6200)上ping服務器。我使用inet.isReachable(30000)
來監視服務器是否響應客戶端。關閉連接到端口,沒有在Java中存在套接字綁定
最後,我想確保當我重新運行我的應用程序時,任何現有的連接到這些端口都將被刪除。
我該如何去做?
當我使用InetAddress時,有沒有辦法自動關閉連接?它似乎沒有任何方法來終止現有連接到地址?
「我想確保當我重新運行我的應用程序,這些端口的任何現有的連接被刪除」。
當你的應用程序退出的連接不能繼續開放 - 沒有過程他們被連接到。所以從這個意義上說,你不必擔心在下次發佈時關閉它們。
「,是有辦法來自動關閉,當我利用InetAddress,這似乎沒有什麼方法來終止現有連接地址的連接?」
是 - 連接將當isReachable
被響應時,或超時過期(或發生其他錯誤)時關閉。只是創建一個InetAddress
不會創建連接 - 它會根據需要自動創建並銷燬它們以執行其功能。連接通常只是短暫的事情,除非你做出來才能保持開放。
服務器響應isReachable
或超時過期後,JVM將關閉連接,以先到者爲準。
回答你的模糊的問題是,作爲連接不生存,他們被創造的過程,和InetAddress類「isReachable()不泄漏連接,沒有實際的問題就在這裏解決。
*你在說什麼*連接?當客戶端存在時,所有客戶端的連接都會被終止。服務器應該在讀取流結束時終止所有接受的連接。你想要解決什麼問題? – EJP
只需重申你的問題沒有回答我的問題。*什麼*連接?連接在創建它們的過程中無法生存。 – EJP