-
Java | Network (2) ServerSoket & SocketJAVA/JAVA 2020. 2. 11. 17:42
ServerSocket & Socket Class
java.net.[Server]Socket
자바에서 서버-클라이언트 프로그램 작성을 위해 제공하는 클래스
ServerSocket
서버 측에서 실행되는 애플리케이션을 작성하기 위해 사용하는 클래스
ServerSocket 생성자
생성자 설명 ServerSocket(int port) 클라이언트 요청을 받아들일 포트(port)번호를 가지고 ServerSocket 객체 생성
포트 번호는 1024~49151 사이에서 몇 가지 번호를 제외하고 사용 가능
ServerSocket Method
메소드 설명 Socket accept() 클라이언트 요청을 받아서 Socket 객체 생성 후 반환 InetAddress getInetAddress() 현재 서버 소켓의 지역 주소 정보를 InetAddress 객체로 반환 void close() 서버 소켓을 닫음
Socket
서버로 접속할 클라이언트 프로그램에서 사용하는 클래스
Socket 생성자
생성자 설명 Socket(String host, int port) 연결할 host(접속할 서버 IP 주소)와 port(접속 포트 번호)로 소켓 생성 Socket(InetAddress addr, int port) 접속할 서버의 InetAddress 객체와 port 번호로 소켓 생성
Socket Method
메소드 설명 InputStream getInputStream() 현재 소켓과 관련된 InputStream 객체 반환 OutputStream getOutputStream() 현재 소켓과 관련된 OutputStream 객체 반환 void close() 소켓 닫기 InetAddress getInetAddress() 소켓에 연결된 원격 컴퓨터의 InetAddress 객체 반환 InetAddress getLocalAddress() 소켓에 연결된 지역 컴퓨터의 InetAddress 객체 반환 int getPort() 소켓에 연결된 컴퓨터의 포트 번호 반환 int getLocalPort() 소켓에 연결된 지역 컴퓨터의 포트 번호 반환
TCP 소켓 / UDP 비교
TCP UDP 상호 연결된 상태에서 통신하는 방법이기 때문에
높은 신뢰성이 요구되는 어플리케이션에 적합User Datagram Protocol의 약자로
TCP 소켓에 비해 신뢰성과 안정성 측면에서 뒤떨어짐네트워크에 부담을 주기 때문에 신뢰성이 충족되지 않거나
많은 양의 데이터를 전송하는 경우 부적합연결을 설정하지 않으므로 네트워크에 부담을 주지 않음
서버 소켓 및 소켓 클래스에 대해 간단히 살펴보았습니다.
서버 소켓 클래스는 서버에서 소켓의 접속만을 관리하며
소켓 클래스가 서버와 클라이언트간 직접적인 통신을 담당한다고 할 수 있습니다.예제로는 채팅 프로그램 만들기를 하게 되었는데
지금까지 배웠던 모든 내용이 나오기 때문에 정리 차원에서 따로 한 번에 올리도록 하겠습니다.'JAVA > JAVA' 카테고리의 다른 글
Java | Properties Class (0) 2020.02.12 Java | Socket & Thread 채팅 프로그램 만들기 (1) 2020.02.12 Java | Network (1) InetAddress & URL (0) 2020.02.11 Java | Singleton Pattern 싱글톤 패턴 (0) 2020.02.11 Java | I/O RandomAccessFile (0) 2020.02.11