博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Socket 检测远程地址可否通信
阅读量:5267 次
发布时间:2019-06-14

本文共 1384 字,大约阅读时间需要 4 分钟。

  使用java.net包中的Socket(“插座”),进行对要访问的另一端(可以是TCPIP地址)进行尝试创建链接,如果异常,则可判断为不能访问。

示例代码:

import java.io.IOException;  import java.net.InetSocketAddress;  import java.net.Socket;  import lotus.domino.*;public class myClass{    public static void main(String argv[])        {           //默认为正常通信        boolean isOpen = true;         //百度的IP        String host = "61.135.169.121";        //分别模拟79至82的四个端口号        for(int i=79;i<83;i++){            isOpen = remoteIPIsOpen(host,i);            System.out.println("地址:"+host+"端口:"+i+" 是否正常通信:"+isOpen);        }    }     /**     * 判断远程地址是否正常通信     * @ip:远程地址ip     * @prot:远程地址端口     */    public boolean remoteIPIsOpen(String ip,int port){    Socket connect = null;    boolean isOpen = true;    try {            connect = new Socket();            connect.connect(new InetSocketAddress(ip, port),100);              isOpen = connect.isConnected();         } catch (IOException e) {            isOpen = false;          }finally{              try {                  connect.close();              } catch (IOException e) {                  e.printStackTrace();              }        }        return isOpen;    }}

以上是对百度IP不同的几个端口进行了尝试链接,测试结果:

地址:61.135.169.121端口:79 是否正常通信:false

地址:61.135.169.121端口:80 是否正常通信:true
地址:61.135.169.121端口:81 是否正常通信:false
地址:61.135.169.121端口:82 是否正常通信:false

 

转载于:https://www.cnblogs.com/zealon/archive/2013/03/15/4419798.html

你可能感兴趣的文章
用css3绘制你需要的几何图形
查看>>
对其他团队的项目的意见或建议
查看>>
iOS 项目的编译速度提高
查看>>
机房收费系统——报表
查看>>
How to unshelve many shelves at same time
查看>>
table中checkbox选择多行
查看>>
动态链接库
查看>>
Magento开发文档(三):Magento控制器
查看>>
使用Docker官方的Django包【转】
查看>>
SuperSocket 学习
查看>>
给培训学校讲解ORM框架的课件
查看>>
此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
查看>>
性能调优攻略
查看>>
线段树模板讲解
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
H3C交换机DHCP&nbsp;Server配置的六个方面
查看>>
docker overlay网络实现
查看>>
mysql方言不支持blob类型解决方案
查看>>
2019-8-5 考试总结
查看>>