ServerSocket 클래스의 주요 메서드, ServerSocket 연결받기

CODEDRAGON Development/Java

반응형

 

 

ServerSocket 클래스의 주요 메서드

메소드

설명

Socket accept()

·       클라이언트의 Socket객체가 생성될 때까지 블로킹되는 메소드

·       클라이언트의 Socket객체가 생성되면 서버에서 클라이언트와 통신할 수 있는 Socket객체를 반환

void close()

·       ServerSocket객체 닫기

int getLocalPort()

·       ServerSocket객체가 청취하고 있는 포트번호를 반환

int getSoTimeout()

·       ServerSocket클래스의 accept()메소드가 유효할 수 있는 기간을 밀리세컨드단위로 반환

·       값이 0이면 무한대를 의미

boolean isClosed()

·       ServerSocket객체의 닫힌 상태를 반환

·       ServerSocket이 닫힌 경우 true를 반환하고

·       그렇지 않은 경우에는 false를 반환합니다.

boolean isBound()

서버 소켓 객체가 포트에 바인딩되었는지 여부를 알려줍니다.

void setSoTimeout(int timeout)

·       ServerSocket클래스의 accept()메소드가 유효할 수 있는 시간을 밀리세컨드로 설정

·       설정된 시간이 지나면 java.net.SocketTimeoutException예외가 발생하며 이 예외가 발생하더라도 ServerSocket객체는 계속 유효합니다.

 

 

ServerSocket 연결받기

·       서버 소켓의 주요 작업은 들어오는 연결 요청들을 수신하고 각 요청으로 부터 Socket 객체를 생성하는 역할을 하며 ServerSocket 클래스의 accept() 메서드에 의해 수행됩니다.

·       클라이언트에서 들어오는 요청이 없다면 요청이 올 때까지 accept() 메서드는 블럭화 되거나 타임아웃이 되면 종료됩니다.

 

 

accept()

Socket accept() throws IOException,SecurityException;

·       accpet() 메서드는 일반적으로 무한루프로 처리합니다.

·       클라이언트의 TCP 요청이 오면 accept() 메서드를 통해 Socket 객체를 생성한 후에 다른 클라이언트의 TCP 요청을 기다리게 되므로 accept() 메서드를 무한루프로 처리해야 합니다.