Java中Socket设置连接超时的代码
来源:才华咖 本文已影响1.59W人
来源:才华咖 本文已影响1.59W人
大家都知道Java的Socket如果连接不到指定IP和Port的主机,就会抛出IOException异常,而通常情况下,从连接到出现IOException会有一段不定的时长,就是所谓的超时时长,如果超时时长过长,在开发时会影响测试,如果代码成了产品,又会非常的影响用户体验,那么要怎么设置这个时长呢?今天本站小编为大家整理的Java中Socket设置连接超时的代码,仅供学习参考,欢迎大家阅读浏览!
Socket的类提供了一个方法:
public void connect(SocketAddress endpoint, int timeout)
throws IOException
参数:
endpoint – SocketAddress 提供主机IP和Port
timeout – 要使用的超时值(以毫秒为单位)。
该方法用于将Socket连接到指定的服务器,并设定一个超时值。超时值设定为大于0时,当超时后,就会抛出异常,停止连接,而超时值设为0将无限超时。
因此,使用上述方法就可以设置Socket连接的超时时长了,代码如下:
// 设置ip和prot
String ip = "";
int port = 8888;
// 创建Socket
Socket client = new Socket();
// 设置发送地址
SocketAddress addr = new InetSocketAddress(ip, port);
// 超时1秒,并连接服务器
ect(addr, 1000);
解释一下上面的etAddress和InetSocketAddress,这两个类用于创建Socket连接地址,前者是抽象类,后者是前者的子类,通过构造方法来创建地址:
public InetSocketAddress(String hostname, int port)
参数:
hostname – 主机名,也可以是ip
port – 端口号
另外,InetSocketAddress还提供了一些与网络相关的方法,比如常用的获取本机IP的方法:
public final InetAddress getAddress()
这个方法会返回一个InetAddress,然后通过InetAddress的方法获取IP,如下:
public String getHostAddress()
那么获取本机IP的代码就是:
// client就是上面创建的Socket
String host_ip = ddress()ostAddress();
那么,就到这里吧!
javasocket服务端技巧
JavaScript中Cookie操作实际案例
关于JavaScript学习笔记之Cookie对象
java如何利用java.net.URLConnection发送HTTP请求
java设置cookie方法流程
30行代码实现Javascript中的MVC
Java中Websocket使用实例解析
Java Socket应答与HTTP服务器的关系
高中生优秀英语作文:Have a break away from electronics
Javasocket应用实例
PPT职称考试“Shockwave Flash Object”控件法
java中Cookie被禁用后Session追踪问题
关于javascript中cookie对象用法的实例分析
Java认证考试:如何设置和删除cookie
Java如何通过Socket实现TCP服务端
package.json文件的配置教程
英语作文Never judge a book by its cover
高效编写JavaScript代码的技巧
初中生英语作文:A favorite subject
一个JavaScript的timer的代码
关jQuery弹出窗口简单实现代码-javascript编程
Javascript实例教程如何使用HoTMetal
JavaScript ES6中CLASS的使用指南
jQuery中的read和JavaScript中的onload函数的区别在哪
雅思阅读模拟试题:Sun's fickle heart may leave us cold
如何解决Java Socket通信技术收发线程互斥
Chinas Liu to seek injury advice in US soon英语作文
代码中心关于代码数据专项清整工作总结
javascript代码的练习题
javascript实现贪吃蛇代码
论文中的页码怎么设置
Don’t Take the Age As an Excuse为题目的作文
ASP.NET连SQL7接口的源代码
Java数据库连接代码集合
英语阅读:Tobacco Plant to Make Jet Fuel
连续跳槽果真是加薪的砝码
JavaScript判断登录界面的账号密码是否为空代码
jsp tomcat6 mysql连接池配置
Java Tomcat和激活MyEclips的深入理解
私家车的坏处The Disadvantages of Private Cars英语作文