java.Network
Network
java 기반의 TCP/IP 네트워크 프로그래밍
java.net.* 패키지에 주요 클래스들이 있음( Socket, ServerSocket )
Protocol : 프로토콜 (약속), 통신규약
TCP/IP : 인터넷 상의 통신 규약
TCP( Transmission Control Protocol) : 전송 제어 프로토콜
신뢰성이 높음 > 데이터 전달 보증
IP(Internet Protocol) : ip address(전화번호와 유사)로 호스트를 지정
> localhost(자신의 호스트) : 127.0.0.1
> 실제 ip 예) 221.150.136.4
DNS( Domain Name Service): www.naver.com > ip와 연결되는 Domain Name
ip를 사용자들이 일일히 기억하기에는 불편함이 있으므로 주로 Domain Name을 이용해서 통신함
Port : 가상의 연결단위, 서버의 서비스 번호(입구)
> ex) http://127.0.0.1:8888
http < protocol (통신규약)
127.0.0.1 < IP
8888 < prot 서비스 번호(입구)
포트는 일반적으로 1~65535 까지 가능하고 이반적으로 1024 까지는 사용되는 경우가 많으므로 그 이후 port를 이용해서 서비스 하면 됨
Socket : 소켓이란 네트워크 연결의 양 끝 단위(end-point)로서 통신을 하기 위한 인터페이스를 제공
> ex) 전화기와 유사
> Socket socket=new Socket(ip,port);
> socket.getOutputStream() < 출력 스트림
> socket.getInputStream() < 입력 스트림
ServerSocket : 서버 구현을 위한 객체
> ServerSocket serverSocket = new Serversocket(port);
> // 클라이언트 접속을 대기하다가 접속하면 실행되고
> // 접속한 클라이언틍와 통신할 수 있는 개별 Socket 객체를 발환
> Socket socket = serverSocket.accept();