溫馨提示×

Java Socket連接超時該如何設置

小樊
253
2024-09-02 22:00:07
欄目: 編程語言

在Java中,使用Socket連接時,可以通過設置connectTimeout來控制連接超時。這可以通過Socket類的connect方法實現,該方法接受一個InetSocketAddress對象和一個超時值(以毫秒為單位)。

以下是一個示例,展示了如何設置Socket連接超時:

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketTimeoutException;

public class SocketConnectionTimeout {
    public static void main(String[] args) {
        String host = "example.com"; // 目標服務器地址
        int port = 80; // 目標服務器端口
        int timeout = 5000; // 連接超時時間,單位為毫秒

        try {
            Socket socket = new Socket();
            InetSocketAddress address = new InetSocketAddress(host, port);
            socket.connect(address, timeout);

            // 連接成功后,你可以在此處編寫與服務器的通信代碼

            socket.close();
        } catch (SocketTimeoutException e) {
            System.err.println("連接超時: " + e.getMessage());
        } catch (IOException e) {
            System.err.println("連接出錯: " + e.getMessage());
        }
    }
}

在這個示例中,我們創建了一個Socket對象,然后使用InetSocketAddress對象指定目標服務器的地址和端口。接著,我們調用socket.connect()方法并傳入addresstimeout參數。如果在指定的超時時間內無法建立連接,將拋出SocketTimeoutException。如果連接成功,你可以繼續編寫與服務器的通信代碼。最后,記得關閉Socket連接。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女