第一次发文章,原因就是项目想实现一个关于数据库能否连接需要进行提前判断,结果网上找了很多办法基本都是用的isReachable()进行的判断,不知道为什么这个方法一直返回False,所以只能自己写一个了。下面直接上代码,首先是关于ping IP和端口号的方法

public boolean isHostConnectable(String host, int port) {

Socket socket = new Socket();

try {

socket.connect(new InetSocketAddress(host, port),5000);

} catch (SocketTimeoutException s) {

System.out.println("Socket timed out!");

return false;

} catch (IOException e) {

e.printStackTrace();

return false;

} finally {

try {

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return true;

}

//下面是返回连接状态的

public List> getConnectionState(){

List> listMap = new ArrayList>();

try {

List fdb = factoryDataBaseConfigService

.getFactoryState();

List list = new ArrayList();

HashMap map = new HashMap();

for(int i = 0; i < fdb.size(); i++){

boolean result = false;

result = this.isHostConnectable(fdb.get(i).getIpHost(), 1433);

System.out.println("数据库是否链接:"+ fdb.get(i).getOrgname() +" 结果: " +result);

if(result){

int factoryState = factoryDataBaseConfigService.updateStateTrue(fdb.get(i).getOrgfk());

if(factoryState == 1){

map.put("state", true);

}else{

map.put("state", false);

}

}else{

int factoryState = factoryDataBaseConfigService.updateStateFalse(fdb.get(i).getOrgfk());

if(factoryState == 1){

map.put("state", true);

}else{

map.put("state", false);

}

list.add(fdb.get(i).getOrgname());

}

}

map.put("list", list);

listMap.add(map);

} catch (Exception e) {

throw new RuntimeException(e.getMessage());

}

return listMap;

}

java 判断ip和port是否存活_java判断IP和端口号是否可以访问相关推荐

  1. java比较两个list是否相同_Java判断两个List是否相同

    1.利用Java中为List提供的方法retainAll() /** * 判断两个List内的元素是否相同 * * 此方法有bug 见Food.class * * @param list1 * @pa ...

  2. java判断三位数的范围代码_java判断三位数的实例讲解

    java判断三位数的实例讲解 java怎么判断三位数 先定义个测试数字,如图 然后可以把数字转换成字符串来判断它的长度是否为3,如图 获取判断数字范围是否在100到1000之间的值,如图 在或者判断数 ...

  3. java中不等于空怎么写_JAVA判断不等于空的情况

    判断不等于空的情况,千万不要搞混淆. if(orderId != null && !"".equals(orderId))  中间不是||的关系,是&&am ...

  4. java 判断日期是否在今天之后_java——判断日期是否在今天之前

    这里说的日期是指字符串的日期格式,如"2014-10-15",我们要判断这个日期是否在今天之前,网上看到好多判断的方法,都是拿这个日期转换成Date对象 然后与new Date() ...

  5. java判断一天是星期几_java判断今天星期几

    /** * 获取当前日期是星期几 * * @param dt * @return 当前日期是星期几 */ public static String getWeekOfDate(Date dt) { S ...

  6. NAT(修改IP包的IP或者Port) NAT穿越 keepalive包(IP包),保持映射关系

    NAT修改IP包的IP或者里面TCP/UDP包的Port 静态NAT:替换IP 动态NAT:替换IP IP复用NAT(利用了TCP/UDP的端口):替换IP+Port NAT路由器

  7. java ftp 上传文件 进度条_java FTP上传文件(进度条显示进度)

    java实现FTP上传有2种方式,一种是org.apache.commons.net.ftp.FTPClient这个jar包,一种是sun.net.ftp.FtpClient.不知道为什么,在使用前一 ...

  8. 22.1 网络编程:软件结构、网络通信协议、UDP与TCP协议、(网络编程三要素:协议、ip地址、端口号)、查看ip地址、检测网络是否连通、判断ip是否可用

    目录 网络编程 软件结构 网络通信协议 TCP/IP协议 协议分类 UDP TCP 网络编程三要素 协议 IP地址 列:查看本机ip地址 检查网络是否连通.判断ip是否可用 端口号 网络编程 软件结构 ...

  9. TCP/IP协议概念通俗讲解, 端口号与套接字的区别

    网上对TCPIP协议.以及端口号.套接字以及绑定的概念已经写的很多了.但不是所有的都适合新手,最近下进行FreeRTOS+TCP开发时,发现官方的解释特别通俗易懂,因此对我对简介部分进行了翻译,方便懒 ...

最新文章

  1. 在python程序中的进程操作
  2. SDN协议与SD-WAN中使用的协议相比有何差别?
  3. 使用光标查询10部门的员工姓名和工资,并打印__使用光标查询员工姓名和工资,并打印
  4. 使用字节流读取中文的问题
  5. HOOK学习笔记与心得
  6. 【Pyhton】随机漫步散点图
  7. 数据库服务器主机重启故障诊断分析
  8. (三)MapReducer运行流程
  9. IDEA中启动tomcat
  10. 求助微软商店下载的Ubuntu打开后显示目标路径参数错误,进入路径强制打开显示0x80070005错误。各种方法都试验了
  11. CSP202006-1 线性分类器(100分)【数学】
  12. MAC 如何快捷截图
  13. macOS 访达的隐藏小技巧
  14. 国际象棋马走日(骑士周游)
  15. 2012年世界500强排行榜(企业名单)
  16. 资深运维也不知道的那些事
  17. 2022京东年货节全民炸年兽玩法攻略
  18. android otg读写文件,Android USB Host在USB设备OTG中读/写文件
  19. 使用TIM捕获测量PWM频率和占空比
  20. windows命令行窗口打开mysql,并创建数据库,导入sql文件

热门文章

  1. Visual Studio 2015年预览设置: 辅助安装程序说明
  2. log2:USB ,有线网, 安卓设备作外接WiFi
  3. 在网页中嵌入任意字体的解决方案---google在线字体库应用
  4. Shape Completion using 3D-Encoder-Predictor CNNs and Shape Synthesis 第二部分
  5. 从Google Scholar看各大科技公司科研水平
  6. 机器学习算法总结之朴素贝叶斯法
  7. vue滚动条禁止_vue.js中实现禁止浏览器滚动方法
  8. PHP怎么接收字符串,求大神救命!!php接收到是空的字符串
  9. 机器学习部分内容总结
  10. CCF认证2014-9-2 画图