[Java] Networking

이지현·2023년 4월 10일
0

Java

목록 보기
35/46
post-thumbnail

✔️ Networking

  • 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것

1. Client/Server

  • Client : 서비스를 사용하는 컴퓨터
  • Server : 서비스를 제공하는 컴퓨터
  • 네트워크 구성 시 전용 서버를 두는 것을 서버기반 모델이라 하고, 각 클라이언트가 서버 역할 동시에 수행하는 것은 P2P 모델이라고 함
서버기반 모델(Server-based Model)P2P 모델(Peer-To-Peer Model)
안정적인 서비스의 제공이 가능함서버구축 및 운용비용 절감 가능
공유 데이터의 관리와 보안이 용이함자원의 활용을 극대화할 수 있음
서버구축 비용과 관리 비용이 듬자원의 관리가 어려움
-보안이 취약함

2. IP 주소

  • 컴퓨터를 네트워크 상에서 구별하는데 사용되는 고유한 값
  • IP 주소는 네트워크 주소와 호스트 주소로 나눌 수 있으며 네트워크 주소가 같다는 것은 두 호스트가 같은 네트워크에 포함되어 있다는 것을 의미함
  • IP 주소에 Subnet Mask를 '&'연산 해주면 네트워크 주소를 알 수 있음

3. InetAddress

  • 자바에서 IP 주소를 다루기 위한 클래스
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;

public class Network {
    public static void main(String[] args) {
        InetAddress ip = null;
        InetAddress[] ipArr = null;

        try {
            ip = InetAddress.getByName("www.daum.net");
            System.out.println("getHostName() = " + ip.getHostName());
            System.out.println("getHostAddress() = " + ip.getHostAddress());
            System.out.println("toString() = " + ip.toString());

            byte[] ipAddr = ip.getAddress();
            System.out.println("getAddress() = " + Arrays.toString(ipAddr));

            String result = "";
            for(int i = 0; i < ipAddr.length; i++) {
                result += (ipAddr[i] < 0) ? ipAddr[i] + 256 :ipAddr[i];
                result += ".";
            }
            System.out.println("getAddress() + 256 = " + result);
            System.out.println();
         } catch (UnknownHostException e) {
            e.printStackTrace();
        }

        try {
            ip = InetAddress.getLocalHost();
            System.out.println("getHostName() = " + ip.getHostName());
            System.out.println("getHostAddress() = " + ip.getHostAddress());
            System.out.println();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }

        try {
            ipArr = InetAddress.getAllByName("www.daum.net");

            for(int i = 0; i < ipArr.length; i++) {
                System.out.println("ipArr["+i+"] = " + ipArr[i]);
            }
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}
profile
2022.08 ~ 2023.09 / 현재 티스토리 이전 : https://jihyun-devstory.tistory.com/

0개의 댓글