相关文章推荐
小胡子的日光灯  ·  recvfrom error ...·  2 周前    · 
坏坏的茴香  ·  nginx ...·  1 周前    · 
要出家的小熊猫  ·  Java ...·  2 天前    · 
有腹肌的生菜  ·  WPFMVVM ...·  2 月前    · 
逃课的紫菜汤  ·  李长河 中文主页 ...·  1 年前    · 
痴情的拖把  ·  opencv4.10编译traincasca ...·  1 年前    · 

当我们通过IP和端口连接设备时,有时候为了用户体验,我们急需在几秒内给到用户回复信息,而这些就需要一些方法来判断:

public void connect(String server, int servPort) throws IOException,UnknownHostException, SocketTimeoutException {
        InetAddress ad = InetAddress.getByName(server);
        boolean state = ad.isReachable(1000);//测试是否可以达到该地址 ,判断ip是否可以连接 1000是超时时间
        if(state){
           System.out.println("连接成功" + ad.getHostAddress());
        } else{
           System.out.println("连接失败");
           throw new IOException();
        //1.创建一个Socket实例:构造函数向指定的远程主机和端口建立一个TCP连接
        //socket = new Socket(server, servPort);
        socket = new Socket();
        socket.setReceiveBufferSize(8192);
        socket.setSoTimeout(1000);// socket.setSoTimeout(2000);
        SocketAddress address = new InetSocketAddress(server, servPort);
        try {
            socket.connect(address,1000);//1.判断ip、端口是否可连接
        } catch (IOException e) {
            System.out.println("新建一个 socket server "+ servPort+"连接失败");
            throw new IOException();
        System.out.println("新建一个socket");
        System.out.println("Connected to server... sending echo string");
        //2. 通过套接字的输入输出流进行通信:一个Socket连接实例包括一个InputStream和一个OutputStream,它们的用法同于其他Java输入输出流。
        in = socket.getInputStream();
        out = socket.getOutputStream();
        isalreadyconnected=1;
        //connect1( server,  servPort) ;
    }
出处:https://www.cnblogs.com/wth1129/p/6846723.html 使用的是 java 自带的 Socket 类进行检测 端口 是否 可用,两个代码,一个是检测的工具类,另一个是调用工具类传递相关的的参数; 请求的结果:(当前 Ip 可用, 端口 号不可用) 二、检测用的工具类 import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java .i...
public static boolean ping Ip (String ip ) throws UnknownHostException, IOException { //能ping通放回true 反之 false 超时时间 3000毫秒 return InetAddress.getByName( ip ).isReachable(5000); public static boolean telnetport(String ip , Integer port).
1 public class test implements Runnable { 2 //private static String host="210.39.3.164"; 3 private static int i=0; 4 static Da... public static boolean isHostConnectable(String host, int port) { Socket socket = new Socket (); try { socket .connect(new Inet Socket Addres...
转自:http://www.csdn.net/article/2012-11-28/2812264- Java -network-connectivity-test-several-m 摘要:本文列举集中典型的场景,介绍了通过 Java 网络编程接口 判断 机器之间 可达 性的几种方式。在实际应用中,可以根据不同的需要选择相应的方法稍加修改即可。对于更加特殊的需求,还可以考虑通过JNI的方法直接调用系统API来
import java .io.IOException; import java .net.HttpURLConnection; import java .net.Inet Socket Address; import java .net. Socket ; import java .net.URL; * @Descr ip tion 测试 ip 端口 连通性 * @ClassName NetUtils * @Author import java .io.IOException; import java .net.InetAddress; import java .net.Inet Socket Address; import java .net. Socket ; import java .net.UnknownHostException; public class TestI...
// socket 验证异常 public static boolean isHostConnectable(String host, int port) { Socket socket = new Socket (); try { socket .connect(new Inet Socket Address(host, port)); telnet命令如果只指定 ip ,将默认 连接 到对端的23 端口 。 如果指定了 端口 ,则 连接 到对应的 端口 。 telnet ip port 命令可以用来 测试 服务器某个 端口 是否 打开。 C:\Users\Administrator>telnet www.baidu.com 80 如果 端口 是开放的,将看到空白屏幕