주요 메서드

소켓 옵션 설정

setTcpNoDeply (TCP_NODELAY)

패킷 크기에 상관없이 가능한 빨리 패킷을 전송한다. (네이글 알고리즘)

setSoLinger (SO_LINGER)

소켓이 닫힐 때 전송되지 않은 데이터를 어떻게 처리할지 여부를 결정한다.

setSoTimeout (SO_TIMEOUT)

read() 메서드는 충분한 바이트를 읽을 때까지 블러킹된다. SO_TIMEOUT을 설정하게 되면 read() 메서드의 호출이 지정된 시간 이상 블러킹 되지 않는다.타임아웃이 발생하더라도 소켓의 연결상태가 바뀌는것은 아니니 read() 메서드를 다시 호출하여 대기할 수 있다.

setReceiveBufferSize, setSendBuffserSize (SO_RCVBUF, SO_SNDBUF)

TCP는 네트워크 성능을 향상시키기 위해 버퍼를 사용한다.파일 전송 프로토콜의 경우 버퍼의 크기가 큰 편이 유리하지만, 텔렛이나 게임과 같은 경우 버퍼의 크기가 작은 편이 유리할 수 있다.