我有一个小型客户端服务器应用程序,它涉及客户端在一组端口(90,6100,6200)上ping服务器。
我使用inet.isReachable(30000)
来监控服务器是否响应客户端。
最后,我想确保在重新运行我的应用程序时,删除与这些端口的任何现有连接。
我该怎么做?
有没有办法在我使用InetAddress时自动关闭连接,这似乎没有任何方法可以终止与地址的现有连接?
答案 0 :(得分:1)
在服务器响应isReachable
或超时到期后,JVM将关闭连接,以先到者为准。
答案 1 :(得分:1)
“我想确保当我重新运行我的应用程序时,将删除与这些端口的任何现有连接。”
当您的应用程序退出时,连接无法保持打开状态 - 没有连接它们的过程。所以从这个意义上说,你不必担心在下次发布时关闭它们。
“有没有办法在我使用InetAddress时自动关闭连接,这似乎没有任何方法来终止与地址的现有连接?”
是 - 当响应isReachable
时,或超时到期时(或发生其他错误),连接将关闭。仅创建InetAddress
不会创建连接 - 它会根据需要自动创建和销毁它们以执行其功能。连接通常只是短暂的事情,除非你制作它们,否则不会保持开放状态。
答案 2 :(得分:1)
你的模糊问题的答案是,由于连接不能在它们创建的过程中存活,并且由于INetAddress" isReachable()不会泄漏连接,因此这里没有实际问题解决。