paket java.net
Setiap orang harus tahu bahwa objek yang berhubungan dengan jaringan ada dalam paket java.net, dan kelas-kelas di bawah paket jaring java adalah sebagai berikut:
1. Dapatkan objek host inetaddress
// Dapatkan objek host lokal inetaddress host = inetaddress.getLocalhost (); // Dapatkan objek host berdasarkan alamat IP atau nama host. Saat mendapatkan host dengan nama host, resolusi DNS diperlukan. Inetaddress host = inetaddress.getbyname ("192.168.100.124"); Inetaddress host = inetaddress.getbyname (www.baidu.com);2. Dapatkan alamat IP dan nama host objek host (DNS diperlukan untuk menyelesaikan nama host)
host.gethostaddress (); host.gethostname ();
3. Dapatkan semua antarmuka mesin dan lintasi
// pengembalian tipe data adalah enumerationEnumeration <N NetworkInterface> enu = networkInterface.getNetworkInterfaces (); while (enu.hasmoreElements) {networkInterface inet = enu.nextElement (); String intname = inet.getName ();}Karena mungkin ada beberapa sub-antarmuka pada antarmuka (pendukung IP, seperti ETH0: 1), menurut antarmuka tertentu, Anda dapat memperoleh himpunan enumerasi dari semua alamat IP antarmuka (termasuk antarmuka IPv4 dan IPv6).
Enumeration <InetAddress> net_list = inet.getInetAddresses (); while (net_list.hasmoreElements) {inetaddress net = net_list.nextElement (); String ip = net.getHostAddress ();}Anda dapat menggunakan metode collections.list () untuk mengonversi jenis enumerasi ke struktur data pengumpulan arraylist dan kemudian menggunakan traverser itreator untuk melintasi.
Berikut adalah cara untuk mendapatkan semua nama antarmuka dari asli dan alamat IPv4 pada antarmuka ini (untuk Windows dan Linux).
Impor java.net.*; impor java.util.*; kelas publik enumdemo {public static void main (string [] args) {coba {// dapatkan semua antarmuka dan masukkan ke dalam koleksi enumerasi, dan kemudian menggunakan networkinter () untuk mengubah koleksi enumerasi ke dalam koleksi enumeration <networkinterpinter. ArrayList <NetworkInterface> arr = collections.list (enu); untuk (iterator <wetworkinterface> it = arr.iterator (); it.hasnext ();) {networkInterface ni = it.next (); String intname = ni.getName (); // Dapatkan nama antarmuka // Dapatkan semua koleksi antarmuka jaringan IP di setiap antarmuka, karena mungkin ada arraylist sub-antarmuka <InetAddress> inets = collections.list (ni.getInetAddresses ()); untuk (iterator <inetaddress> it1 = inets.iterator (); it1.hasnext ();) {inetaddress inet = it1.next (); // Filter saja Alamat IPv4, jika tidak, alamat IPv6 akan diperoleh pada saat yang sama jika (inet inet dari inet4Address) {string ip = inet.getHostAddress (); System.out.printf (" %-10s %-5s %-6s %-15s/n", "inetfacename:", intname, "| ipv4:", ip); }}}}} catch (socketException s) {s.printstacktrace (); }}}Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.