JRT端口测试程序

连TCP设备时候有时候需要我们程序做服务端,这时候要到服务器启动TCP服务。如果端口的防火墙没打开或者网络交换机有限制就会无法访问。而这种情况又不太直观的测试,为方便测试端口可用性提供测试端口程序,来方便连设备测试用。

效果,实现jrt 97菜单
JRT端口测试程序_第1张图片
能访问则端口没问题,不能访问说明端口不通
JRT端口测试程序_第2张图片

java实现控制台启动http

/*
本框架版权归属于JRT计划,任何单位或个人未经许可,不得以任何方式复制、传播、展示、发布、分发、重新分发、修改、反编译、
反向编译或以其他方式使用本框架的任何部分,包括但不限于源代码、二进制文件、文档、演示文稿、示例代码和API。
使用本框架的用户需遵守以下条款:
用户只能以个人学习和研究为目的使用本框架,不得将其用于商业用途。
用户在使用本框架时,应遵守所有适用的法律和法规,包括但不限于版权法、商标法、专利法和隐私权法。
用户在使用本框架时,应自行承担风险和责任,并确保不会侵犯任何知识产权或个人权利。
本框架的使用仅限于用户自己使用,不得将其分发给其他用户或将其用于任何形式的共享或传播。
在使用本框架时,用户应尊重和保护其他用户的隐私和个人信息,不得将其泄露给任何第三方。
违反以上条款将视为侵权行为,将采取法律手段维护JRT合法权益。
 */

import com.sun.net.httpserver.HttpServer;
import com.sun.net.httpserver.HttpsConfigurator;
import com.sun.net.httpserver.HttpsServer;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.TrustManagerFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.*;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.security.KeyStore;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;

/**
 * 在指定端口上启动http服务,供用户测试端口的可用性,从而简化运维和使用难度
 */
public class SocketTest {
    /**
     * 启动端口
     */
    private static String port;

    /**
     * 实体编译入口
     *
     * @param args
     */
    public static void main(String[] args) throws Exception {
        try {
            //检查参数
            if (args == null || args.length == 0) {
                System.out.println("请传入端口");
                return;
            } else {
                port = args[0];
                StartHttp(Integer.valueOf(port));
            }

        } catch (Exception ex) {
            ex.printStackTrace(System.out);
        }
    }

    /**
     * 启动HTTPS服务
     *
     * @throws Exception
     */
    private static void StartHttp(int port) throws Exception {
        InetAddress address = InetAddress.getLocalHost();
        System.out.println("启动http在:http://" + address.getHostAddress() + ":" + port + "/");
        //创建HttpServer 实例并绑定到指定 IP 地址和端口号
        HttpServer httpServer = HttpServer.create(new InetSocketAddress(port), 1);
        httpServer.createContext("/", new JRTHttpHandler());
        //启动HttpsServer 并设置执行器为 null(可选)
        httpServer.start();
    }

}

菜单整合
JRT端口测试程序_第3张图片

这样就能简化工作了

你可能感兴趣的:(java)