色www,五月婷婷深爱五月,午夜国产一级片,色噜噜综合,国产大胸无码视频,清纯美女被操黄网站在线观看,波多野结衣av高清一区二区三区

Java中Socket設置連接超時的代碼

時間:2025-08-29 10:13:02 java語言

Java中Socket設置連接超時的代碼

  大家都知道Java的Socket如果連接不到指定IP和Port的主機,就會拋出IOException異常,而通常情況下,從連接到出現IOException會有一段不定的時長,就是所謂的超時時長,如果超時時長過長,在開發(fā)時會影響測試,如果代碼成了產品,又會非常的影響用戶體驗,那么要怎么設置這個時長呢?今天百分網小編為大家整理的Java中Socket設置連接超時的代碼,僅供學習參考,歡迎大家閱讀瀏覽!

  Socket的類提供了一個方法:

  public void connect(SocketAddress endpoint, int timeout)

  throws IOException

  參數:

  endpoint – SocketAddress 提供主機IP和Port

  timeout – 要使用的超時值(以毫秒為單位)。

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

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

  /pic/p>

  String ip = "127.0.0.1";

  int port = 8888;

  /pic/p>

  Socket client = new Socket();

  /pic/p>

  SocketAddress addr = new InetSocketAddress(ip, port);

  /pic/p>

  client.connect(addr, 1000);

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

  public InetSocketAddress(String hostname, int port)

  參數:

  hostname – 主機名,也可以是ip

  port – 端口號

  另外,InetSocketAddress還提供了一些與網絡相關的方法,比如常用的獲取本機IP的方法:

  public final InetAddress getAddress()

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

  public String getHostAddress()

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

  /pic/p>

  String host_ip = client.getAddress().getHostAddress();

  那么,就到這里吧!

【Java中Socket設置連接超時的代碼】相關文章:

Java數據庫連接代碼集合12-18

Dreamweaver代碼中的空連接如何批量刪除03-08

java中通用的線程池實例代碼12-18

java常用代碼03-01

JAVA代碼優(yōu)化總結12-11

java代碼的基本要點01-01

Java for循環(huán)的寫法代碼12-06

Java代碼格式規(guī)范08-18

JAVA代碼的基本格式11-17