亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中Socket設(shè)置連接超時的代碼分享

 更新時間:2017年06月16日 10:01:17   作者:Juwend  
在我們?nèi)粘_B接中,如果超時時長過長的話,在開發(fā)時會影響測試,下面這篇文章主要給大家分享了關(guān)于Java中Socket設(shè)置連接超時的代碼,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

大家都知道Java的Socket如果連接不到指定IP和Port的主機,就會拋出IOException異常,而通常情況下,從連接到出現(xiàn)IOException會有一段不定的時長,就是所謂的超時時長,如果超時時長過長,在開發(fā)時會影響測試,如果代碼成了產(chǎn)品,又會非常的影響用戶體驗,那么要怎么設(shè)置這個時長呢?下面來一起看看詳細的介紹:

Socket的類提供了一個方法:

public void connect(SocketAddress endpoint, int timeout) 
    throws IOException

參數(shù):

  • endpoint – SocketAddress 提供主機IP和Port
  • timeout – 要使用的超時值(以毫秒為單位)。

該方法用于將Socket連接到指定的服務(wù)器,并設(shè)定一個超時值。超時值設(shè)定為大于0時,當超時后,就會拋出異常,停止連接,而超時值設(shè)為0將無限超時。

因此,使用上述方法就可以設(shè)置Socket連接的超時時長了,代碼如下:

// 設(shè)置ip和prot
String ip = "127.0.0.1";
int port = 8888;
// 創(chuàng)建Socket
Socket client = new Socket();
// 設(shè)置發(fā)送地址
SocketAddress addr = new InetSocketAddress(ip, port);
// 超時1秒,并連接服務(wù)器
client.connect(addr, 1000);

解釋一下上面的SocketAddress和InetSocketAddress,這兩個類用于創(chuàng)建Socket連接地址,前者是抽象類,后者是前者的子類,通過構(gòu)造方法來創(chuàng)建地址:

public InetSocketAddress(String hostname, int port)

參數(shù):

  • hostname – 主機名,也可以是ip
  • port – 端口號

另外,InetSocketAddress還提供了一些與網(wǎng)絡(luò)相關(guān)的方法,比如常用的獲取本機IP的方法:

public final InetAddress getAddress()

這個方法返回一個InetAddress,然后通過InetAddress的方法獲取IP,如下:

public String getHostAddress()

那么獲取本機IP的代碼就是:

// client就是上面創(chuàng)建的Socket
String host_ip = client.getAddress().getHostAddress();

那么,就到這里吧!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • java使用觀察者模式異步短信/郵箱提醒用戶群

    java使用觀察者模式異步短信/郵箱提醒用戶群

    這篇文章主要為大家詳細介紹了java使用觀察者模式異步短信和郵箱提醒用戶群,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 詳解JAVA如何實現(xiàn)樂觀鎖以及CAS機制

    詳解JAVA如何實現(xiàn)樂觀鎖以及CAS機制

    悲觀鎖和樂觀鎖其實本質(zhì)都是一種思想,在JAVA中對于悲觀鎖的實現(xiàn)大家可能都很了解,可以通過synchronized、ReentrantLock加鎖實現(xiàn),本文不展開講解了。那么樂觀鎖在JAVA中是如何實現(xiàn)的呢?底層的實現(xiàn)機制又是什么呢?本文就來和大家詳細講講
    2022-12-12
  • SpringBoot中通過AOP整合日志文件的實現(xiàn)

    SpringBoot中通過AOP整合日志文件的實現(xiàn)

    本文主要介紹了SpringBoot中通過AOP整合日志文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • spring cloud服務(wù)之間的調(diào)用之ribbon詳解

    spring cloud服務(wù)之間的調(diào)用之ribbon詳解

    關(guān)于spring-cloud的服務(wù)調(diào)用,我們首先需要了解它的兩個核心組件Ribbon和Feign。接下來通過本文給大家詳細介紹spring-cloud服務(wù)之間的調(diào)用之ribbon,感興趣的朋友一起看看吧
    2021-08-08
  • Java微信二次開發(fā)(一) Java微信請求驗證功能

    Java微信二次開發(fā)(一) Java微信請求驗證功能

    這篇文章主要為大家詳細介紹了Java微信二次開發(fā)第一篇,Java微信請求驗證功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • java實現(xiàn)銀行家算法

    java實現(xiàn)銀行家算法

    這篇文章主要為大家詳細介紹了java實現(xiàn)銀行家算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Java 數(shù)據(jù)庫時間返回前端顯示錯誤(差8個小時)的解決方法

    Java 數(shù)據(jù)庫時間返回前端顯示錯誤(差8個小時)的解決方法

    本文主要介紹了Java 數(shù)據(jù)庫時間返回前端顯示錯誤(差8個小時)的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java實現(xiàn)時間片輪轉(zhuǎn)調(diào)度算法的示例代碼

    Java實現(xiàn)時間片輪轉(zhuǎn)調(diào)度算法的示例代碼

    時間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡單,最公平且使用最廣的算法,這篇文章主要為大家介紹了如何利用Java實現(xiàn)這一算法,需要的可以參考一下
    2023-07-07
  • java實現(xiàn)翻轉(zhuǎn)單詞順序列

    java實現(xiàn)翻轉(zhuǎn)單詞順序列

    這篇文章主要為大家詳細介紹了java實現(xiàn)翻轉(zhuǎn)單詞順序列,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 深入介紹Java對象初始化

    深入介紹Java對象初始化

    本文對Java如何執(zhí)行對象的初始化做一個詳細深入地介紹。有需要的小伙伴們可以參考。
    2016-07-07

最新評論