java.net 패키지
모든 사람은 네트워크 관련 객체가 java.net 패키지에 있으며 Java Net 패키지의 클래스는 다음과 같습니다.
1. 호스트 객체를 inetAddress로 가져옵니다
// 로컬 호스트 객체를 가져옵니다. inetAddress host = inetAddress.getLocalHost (); // IP 주소 또는 호스트 이름을 기반으로 호스트 객체를 가져옵니다. 호스트 이름으로 호스트를 얻을 때는 DNS 해상도가 필요합니다. inetAddress host = inetAddress.getByName ( "192.168.100.124"); inetAddress host = inetAddress.getByName (www.baidu.com);
2. 호스트 오브젝트의 IP 주소와 호스트 이름을 가져옵니다 (호스트 이름을 해결하려면 DNS가 필요합니다).
host.gethostaddress (); host.gethostname ();
3. 기계의 모든 인터페이스를 가져 와서 가로 지르십시오.
// 반환 데이터 유형은 열거적 인 <TOMWARKINTERFACE> enu = NetworkInterface.getNetWorkInterfaces (); while (enu.hasmoreElements) {NetworkInterface inet = enu.nextElement (); 문자열 intname = inet.getName ();}인터페이스에 여러 하위 인터페이스 (ETH0 : 1과 같은 지원)가있을 수 있으므로 특정 인터페이스에 따르면 인터페이스의 모든 IP 주소 (IPv4 및 IPv6 인터페이스 포함)의 열거 세트를 얻을 수 있습니다.
열거 <InetAddress> net_list = inet.getInetAddresses (); while (net_list.hasmoreElements) {inetAddress net = net_list.nextElement (); 문자열 ip = net.gethostaddress ();}Collections.list () 메소드를 사용하여 열거 형식을 ArrayList Collection의 데이터 구조로 변환 한 다음 ItReator Traverser를 사용하여 트래버스를 사용할 수 있습니다.
다음은 이러한 인터페이스 (Windows 및 Linux의 경우)에서 네이티브의 모든 인터페이스 이름과 IPv4 주소를 얻는 방법입니다.
import java.net.*; import java.util.*; public class enumdemo {public static void main (string [] args) {try {// 모든 인터페이스를 가져 와서 열거 모음에 넣은 다음 collections.list.list.list.list.list.list.list.collection <networkinterface> enu = getworkinterface (getwinternetnetwinterfates)로 변환합니다. ArrayList <TOMWANKINTERFACE> arr = collections.list (enu); for (iterator <networkinterface> it = arr.iterator (); it.hasnext ();) {네트워크 인터페이스 ni = it.next (); 문자열 intname = ni.getName (); // 인터페이스 이름 가져 오기 // 하위 인터페이스 arraylist <inetaddress> inets = collections.list (ni.getInetAddresses ())가있을 수 있으므로 각 인터페이스에서 모든 IP 네트워크 인터페이스 수집을 가져옵니다. for (iterator <inetaddress> it1 = inets.iterator (); it1.hasnext ();) {inetaddress inet = it1.next (); // IPv4 주소 만 필터링하십시오. 그렇지 않으면 ipv6 주소는 (inet instance의 inet4address) {string ip = inet.gethostaddress (); System.out.printf ( " %-10S %-5S %-6S %-15S/N", "inetFaceName :", intname, "| ipv4 :", ip); }}}}} catch (socketexception s) {s.printstacktrace (); }}}요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.