종종 우리는 자바에 있는 a (클라이언트) 소켓 연결을 창조할 필요가 있다 그러나 연결이 열리도록 우리가 불명확하게 기다리고 싶지 않다. 우리는 타임아웃 소켓 연결에 방법을 필요로 한다. 2개의 해결책 및 추천된 부호.

이전에 유일한 방법은 실에 있는 소켓을 창조하기 위한 것이었다. 그리고 문턱 제한 시간 저쪽에 달리는 경우에 그 때 실을 죽이십시오. 이것에는 2개의 문제가 있었다. 첫번째 Thread.kill 또는 Thread.suspend는 그리고 정당한 이유로 비난한 방법이다. 그들의 가용성은 자바의 미래기록에서 지켜질 수 없다. 이차적으로 과정은 서툴렀다 적어도. 지금 우리는 JDK 1.4부터 더 나은 방법이 있다.

java.net.So cket는 JDK1.4에서 타임아웃을 앞으로 지원한다. 뒤에 오는 것 자바에 있는 소켓 타임아웃을 가능하게 하는 견본 부호 이다. 이 견본에서 500 밀리세컨드는 타임아웃 가치로 선택된다.

//는 어떤 매개변수도 없이 소켓을 연다. 그것은 binded 연결되지 않았다
소켓 양말 = 새로운 소켓 ();

국부적으로 덧없은 항구에 // 묶는 것
sock.bind (영);

//는 500 밀리세컨드의 타임아웃과 항구 80에 google.com에 연결한다
sock.connect (새로운 InetSocketAddress ("www.google.com", 80), 500);

//는 당신의 부호 여기에서 간다

// 마지막 소켓.
sock.close ();