Java 언어의 장점 중 하나는 Java 프로그램이 네트워크 리소스에 액세스할 수 있다는 것입니다. Java는 네트워크 리소스에 액세스할 때 Java 프로그램을 지원하는 일련의 클래스를 제공합니다.
TCP/IP 프로토콜 및 IP 주소
인터넷에서 통신하려면 통신하는 두 당사자 모두 통신 프로토콜을 준수해야 합니다. 현재 가장 널리 사용되는 프로토콜은 TCP/IP 프로토콜이며, 이는 인터넷의 모든 당사자가 따르는 공용 프로토콜입니다. )은 전송 제어 프로토콜이고, IP(Internet Protocol)는 인터넷 프로토콜이며, TCP/IP는 이 두 프로토콜을 나타냅니다.
TCP/IP는 네 가지 수준으로 구분됩니다.
TCP 프로토콜은 모든 네트워크 정보 전송을 정보 흐름으로 처리합니다. 예를 들어, 긴 메시지가 시스템 A에서 시스템 B로 전송되는 경우 보낸 사람 A는 데이터를 조각화하고 패키지하여 각 데이터 조각을 별도로 보내야 합니다. 데이터 패킷에는 데이터 패킷이 전송된 위치와 수신 시퀀스에서 데이터의 위치를 나타내는 헤더가 있습니다. 각 패킷은 IP 주소가 제공하는 대상에 따라 한 시스템에서 다른 시스템으로 또는 한 네트워크 노드에서 다른 네트워크 노드로 전송됩니다. 수신 측 B에서는 이러한 데이터 패킷이 올바른 순서로 재조립될 수 있습니다.
TCP/IP 프로토콜은 주로 다음과 같은 보다 구체적인 프로토콜을 포함하는 프로토콜 세트로 구성된 프로토콜 모음입니다.
Telnet(원격 로그인): 컴퓨터 사용자가 다른 원격 컴퓨터에 로그인할 수 있도록 하여 마치 로컬 컴퓨터에서 작업하는 것처럼 원격 작업을 수행할 수 있습니다.
FTP(파일 전송 프로토콜): 사용자가 원격 호스트의 파일을 자신의 컴퓨터로 복사할 수 있습니다.
SMTP(Simple Mail Transfer Protocol): 이메일을 전송하는 데 사용됩니다.
NFS(네트워크 파일 서버): 여러 컴퓨터가 서로의 디렉터리에 투명하게 액세스할 수 있습니다.
HTTP: TCP/IP 프로토콜을 기반으로 하며 WWW 브라우저와 서버 간의 응용 프로그램 계층 통신 프로토콜인 하이퍼텍스트 전송 프로토콜입니다. HTTP는 범용, 상태 비저장, 객체 지향 프로토콜입니다. HTTP 세션(트랜잭션)은 연결, 요청, 응답, 닫기의 네 단계로 구성됩니다.
Java 언어는 낮은 수준의 네트워크 애플리케이션을 작성할 수 있습니다. 예를 들어 파일 전송, 메일 컨트롤러 구축, 네트워크 데이터 처리 등이 있습니다. Java 언어가 지원하는 인터넷 프로토콜에는 ftp, telnet, www 등이 있습니다. 네트워크 통신을 지원하는 소프트웨어는 java.net 패키지에 있습니다(예: java.net.ftp, java.net.www 등).
IP 주소는 네트워크 주소를 나타내는 32비트 바이너리 코드를 사용하여 네트워크에서 인터넷상의 컴퓨터 주소를 나타내는 데 사용됩니다. 주소는 A, B, C, D, E의 다섯 가지 범주로 구분됩니다. 가장 일반적으로 사용되는 범주는 A, B, C입니다.
A (1.0.0.0-126.255.255.255): 0,7자리 네트워크 번호, 마지막 24자리는 호스트 번호입니다.
B (128.0.0.0-191.255.255.255): 10, 14자리 네트워크 번호, 마지막 16자리는 호스트 번호입니다.
C (192.0.0.0-223.255.255.255): 110, 21자리 네트워크 번호, 마지막 8자리는 호스트 번호입니다.
D(224.0.0.0-239.255.255.255): 1110, 28비트 멀티캐스트 그룹 번호;
E(240.0.0.0-254.255.255.255): 1111, 테스트용으로 예약되어 있습니다.
일반적으로 IP 주소는 4개의 세그먼트로 구성된 십진수(8자리의 한 세그먼트)로 표시됩니다. 예를 들어:
58.218.204.252
또는 텍스트 도메인 이름으로 표시됩니다. 예를 들어:
www.VeVB.COM
인터넷에서 도메인 이름 서버(DNS)는 리터럴 이름을 바이너리 네트워크 주소로 매핑합니다.
InetAddress 클래스
Java.net 패키지에는 InetAddress 클래스의 정의가 있습니다. InetAddress 클래스의 객체는 IP 주소 및 도메인 이름에 사용됩니다.
getByName(String s): 호스트의 IP 주소와 도메인 이름을 포함하는 InetAddress 클래스의 개체를 가져옵니다. 이 개체는 포함된 정보를 다음 형식으로 나타냅니다. www.sina.com.cn/202.108.37.40;
String getHostName(): InetAddress 개체의 도메인 이름을 가져옵니다.
String getHostAddress(): InetAddress 개체의 IP 주소를 가져옵니다.
getLocalHost(): 로컬 시스템의 도메인 이름과 IP 주소가 포함된 InetAddress 개체를 얻습니다.
[예제] Inetaddress 클래스의 사용법을 설명하는 어플리케이션입니다. 이 프로그램은 www.weixueyuan.net의 도메인 이름과 IP 주소를 얻는 방법을 보여줍니다.
Import java.net.*;Class 예제10_1{ Public static void main(String args[]){ Try{ //다음 코드는 도메인 이름을 통해 InetAddress 객체를 생성합니다. InetAddress addr = InetAddress.getByname("www.VeVB.COm "); String domainName = addr.getHostName();//호스트 이름 가져오기 String IPName = addr.getHostAddress();//IP 주소 가져오기 System.out.println(domainName); System.out.println(IPName) }catch(UnknownHostException e){ e.printStackTrace();
실행 결과는 다음과 같습니다.
www.VeVB.COm58.218.204.252