在Java中,使用java.net.Connection
對(duì)象設(shè)置連接超時(shí),可以通過(guò)調(diào)用setConnectTimeout()
方法來(lái)實(shí)現(xiàn)。這個(gè)方法接受一個(gè)以毫秒為單位的整數(shù)參數(shù),表示連接超時(shí)時(shí)間。
以下是一個(gè)簡(jiǎn)單的示例:
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class ConnectionTimeoutExample {
public static void main(String[] args) {
String targetHost = "example.com";
int port = 80;
int connectTimeout = 5000; // 設(shè)置連接超時(shí)為5秒
try (Socket socket = new Socket()) {
socket.connect(new InetSocketAddress(targetHost, port), connectTimeout);
System.out.println("連接成功");
} catch (UnknownHostException e) {
System.err.println("找不到目標(biāo)主機(jī): " + targetHost);
} catch (IOException e) {
System.out.println("連接超時(shí)");
}
}
}
在這個(gè)示例中,我們嘗試連接到example.com
的80端口,并設(shè)置連接超時(shí)為5秒。如果連接在5秒內(nèi)未完成,將拋出IOException
異常,并打印“連接超時(shí)”。