앞에서 소개한 일반 파이프와 지명 파이프로는 다른 기계에 있는 프로세스와 통신할 수 없다.
다른 기계와 통신하기 위해 사용되는 것이 소켓이다.
소켓이란 통신의 극점을 의미하며, 각 소켓은 IP주소와 포트 번호를 가진다. (IP 주소는 1024보다 큰 임의의 정수)
EX ) 161.25.10.8:1625 (빨간색 : IP주소, 파란색 : 포트 주소)
CF ) 127.0.0.1 은 loopback이라고 하며 현재 프로그램이 돌아가고 있는 컴퓨터를 가리킬 때 사용한다.
자바는 세 가지 종류의 소켓을 제공한다.
1 ) 연결 기반(TCP) 소켓 2 ) 비연결성(UDP) 소켓 3 ) MulticastSocket
[DateClient] (서버는 책 참고)
public class DateServer {
public static void main(String[] argv) {
try {
ServerSocker sock = new ServerSocket(6001);
while(true) {
Socket Client = sock.accept(); // 메세지를 기다림
PrintWriter pout = new
PrintWriter(client.getOutputStream(), true); // 출력 스트림 가져옴
pout.println(new java.util.Date().toString()); // 날짜를 출력함.
client.close();
}
}catch(IOException ioe) {
System.err.println(ioe);
}
}
}