在Java中,我們可以使用InetAddress類來檢查IP地址的有效性。
try { InetAddress address = InetAddress.getByName(ip); return address.isReachable(timeout); } catch (Exception e) { e.printStackTrace(); }
這段代碼通過傳入一個(gè)IP地址和超時(shí)時(shí)間來檢查該IP地址是否可以到達(dá)。如果可以到達(dá),返回一個(gè)true,否則返回一個(gè)false。
關(guān)于端口映射,我們可以使用Socket類來檢查端口的開放情況。
try { Socket socket = new Socket(ip, port); return true; } catch (IOException e) { e.printStackTrace(); }
這段代碼通過傳入一個(gè)IP地址和端口號,來嘗試建立一個(gè)Socket連接。如果連接成功,則該端口號被認(rèn)為是開放的;如果連接失敗,則該端口號被認(rèn)為是關(guān)閉的。
需要注意的是,端口映射也可能受到防火墻等網(wǎng)絡(luò)設(shè)備的影響,因此有時(shí)候即使端口是開放的,也可能無法建立連接。