네트워크
서버기반 모델 / P2P 모델
- 서버기반 모델
- 전용서버를 두고 서비스를 제공하는 것
- P2P 모델
- 클라이언트가 서버역할을 동시에 수행하는 것
InetAddress
자바에서는 IP주소를 다루기 위한 클래스로 InetAddress
클래스를 제공한다.
메서드 | 설명 |
---|---|
byte[] getAddress() | IP주소를 byte배열로 반환 |
static InetAddress[] getAllByName(String host) | 도메인명에 지정된 모든 IP주소를 배열에 담아 반환 |
static InetAddress getByAddress(byte[] addr) | byte배열을 통해 IP주소를 얻음 |
String getCanonicalHostName() | FQDN(fully qualified domain name)을 반환 |
String getHostAddress() | 호스트의 IP주소를 반환 |
String getHostName() | 호스트의 이름을 반환 |
static InetAddress getLocalHost() | localhost의 IP주소를 반환 |
boolean isMulticastAddress() | IP주소가 멀티캐스트 주소인지 확인 |
boolean isLoopbackAddress() | IP주소가 loopback 주소(127.0.0.1)인지 확인 |
URL / URLConnection
- URL
- 인터넷에 존재하는 여러 서버들이 제공하는 자원에 접근할 수 있는 주소를 표현한 것으로 URL을 다루기 위해 자바에서는
URL
클래스를 제공한다. - URLConnection
- 어플리케이션과 URL간의 통신연결을 나타내는 클래스의 최상위 클래스로 추상 클래스이다. 이 클래스를 상속받아 구현한 대표적인 클래스로
HttpUrlConnection
클래스가 있다.
TCP / UDP
TCP 소켓 프로그래밍
서버 프로그램
- 특정 포트를 지정한 ServerSocket을 생성한다.
- 무한루프로 연결요청을 기다린다.
- 연결요청이 오면 Socket이 생성되고 생성된 Socket의 입출력 스트림을 이용해 통신한다.
클라이언트 프로그램
- 서버 프로그램의 IP와 포트를 이용해 Socket을 생성한다.
- Socket의 입출력 스트림을 이용해 통신한다.
UDP 소켓 프로그래밍
UDP 소켓 프로그래밍의 경우 비연결기반이기 때문에 서버소켓이 없다.
서버 프로그램
- 특정 포트를 지정한 DatagramSocket을 생성한다.
- 데이터를 송신하거나 수신할 때 DatagramPacket을 만들고 DatagramSocket의 송수신 메서드를 이용해 통신한다.
클라이언트 프로그램
- 서버 프로그램의 IP와 포트를 이용해 DatagramSocket을 생성한다.
- 데이터를 송신하거나 수신할 때 DatagramPacket을 만들고 DatagramSocket의 송수신 메서드를 이용해 통신한다.
This post is licensed under CC BY 4.0 by the author.