java.net 패키지

 

java.net 패키지는 네트워크 프로그래밍을 위한 클래스와 인터페이스를 제공합니다. 이 패키지를 사용하면 TCP/IP 및 UDP 프로토콜을 기반으로 네트워크 통신을 수행할 수 있습니다.

다음은 java.net 패키지의 주요 클래스와 인터페이스들입니다.

1. InetAddress 클래스

InetAddress 클래스는 IP 주소를 표현합니다. 이 클래스를 사용하여 호스트 이름과 IP 주소 간의 변환을 수행할 수 있습니다.

1
2
3
4
5
6
InetAddress localHost = InetAddress.getLocalHost();
System.out.println(“Local host: “ + localHost.getHostName());
System.out.println(“IP address: “ + localHost.getHostAddress());
InetAddress googleDns = InetAddress.getByName(“8.8.8.8”);
System.out.println(“Google DNS: “ + googleDns.getHostAddress());
cs

 

2. URL 클래스

URL 클래스는 URL(Uniform Resource Locator)을 표현합니다. 이 클래스를 사용하여 URL의 각 부분(프로토콜, 호스트, 포트, 경로 등)에 접근할 수 있습니다.

1
2
3
4
5
6
7
URL url = new URL(“https://www.example.com/path/to/resource?param=value#fragment”);
System.out.println(“Protocol: “ + url.getProtocol());
System.out.println(“Host: “ + url.getHost());
System.out.println(“Port: “ + url.getPort());
System.out.println(“Path: “ + url.getPath());
System.out.println(“Query: “ + url.getQuery());
System.out.println(“Fragment: “ + url.getRef());
cs

 

3. URLConnection 클래스

URLConnection 클래스는 URL에 대한 통신 링크를 나타냅니다. 이 클래스를 사용하여 URL로부터 데이터를 읽거나 쓸 수 있습니다.

1
2
3
4
5
6
7
8
9
10
URL url = new URL(“https://api.example.com/data”);
URLConnection connection = url.openConnection();
connection.setRequestProperty(“Accept”“application/json”);
try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
}
cs

 

4. Socket 클래스

Socket 클래스는 TCP 클라이언트 소켓을 나타냅니다. 이 클래스를 사용하여 서버에 연결하고 데이터를 송수신할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
try (Socket socket = new Socket(“example.com”80)) {
    PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    out.println(“GET / HTTP/1.1”);
    out.println(“Host: example.com”);
    out.println();
    String line;
    while ((line = in.readLine()) != null) {
        System.out.println(line);
    }
catch (IOException e) {
    e.printStackTrace();
}
cs

 

5. ServerSocket 클래스

ServerSocket 클래스는 TCP 서버 소켓을 나타냅니다. 이 클래스를 사용하여 클라이언트의 연결을 수신하고 각 클라이언트와 통신할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
try (ServerSocket serverSocket = new ServerSocket(8080)) {
    while (true) {
        Socket clientSocket = serverSocket.accept();
        System.out.println(“Client connected: “ + clientSocket.getInetAddress());
        // 클라이언트와 통신하는 코드
        // …
        clientSocket.close();
    }
catch (IOException e) {
    e.printStackTrace();
}
cs

 

6. DatagramSocket 및 DatagramPacket 클래스

DatagramSocketDatagramPacket 클래스는 UDP 통신을 위해 사용됩니다. DatagramSocket은 UDP 소켓을 나타내고, DatagramPacket은 UDP 패킷을 나타냅니다.

1
2
3
4
5
6
7
8
9
10
try (DatagramSocket socket = new DatagramSocket()) {
    String message = “Hello, UDP!”;
    InetAddress address = InetAddress.getByName(“example.com”);
    int port = 12345;
    DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), address, port);
    socket.send(packet);
catch (IOException e) {
    e.printStackTrace();
}
cs

 

java.net 패키지는 Java에서 네트워크 프로그래밍을 수행하는 데 필수적인 클래스들을 제공합니다. 이 패키지를 활용하여 TCP/IP 및 UDP 기반의 네트워크 통신, URL 처리, IP 주소 관리 등 다양한 네트워크 관련 작업을 수행할 수 있습니다.

 

코멧 도톰한 엠보싱 위생장갑 500매, 1개, 500매입

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다