java
여러 개의 컴퓨터들을 물리적으로 연결하여 하나의 단위로 묶어 데이터 통신
Network of Network
1) LAN(Local Area Network)
2) WAN(Wide Area Network)
3) MAN(Metropolitan Area Network)
논리적(추상적)인 주소이기 때문에 고정되어 있지 않음
-> MAC address (물리적 주소)
IPv4 : 32bit 주소
IPv6
데이터 통신을 위해 지켜야 할 규칙(통신 규약)
HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP, TELNET, TCP/IP
1) IP 주소 (MAC 주소)
2) Port 번호
3) Protocol
1) client와 server에 각각의 Socket instance가 생성됨
- Server 전용 Socket : Client의 접속을 기다리는 용도
2) Stream을 이용해 두 프로그램을 연결하는 통로 생성
- Client : Output Stream (데이터를 보냄), Input Stream (server가 보낸 데이터를 받음)
- Server : Input Stream (client의 데이터를 받음), Output Stream (데이터를 보냄)
1) Server Process는 Client의 접속을 기다림, ServerSocket 생성
- Client의 접속을 기다리면서 접속이 확인되면 해당 Client와 통신할 Socket을 생성하는 역할
2) Client Process는 ServerSocket에 접속을 시도하여 접근 가능한지 확인한 후 Socket을 생성
3) ServerSocket은 Client와 통신할 Socket을 생성
4) Stream을 생성하여 두 소켓을 Mapping
Server는 접속한 Client에게 현재 날짜를 전송
client가 "/exit"라는 문자열을 입력하면 종료
방 1개짜리 chatting program 구현