ping & telnet 实现类:

import org.springframework.data.web.JsonPath;

import java.io.IOException;
import java.net.*; public class PTUtil {
/***
* ping操作
* @param hostname
* @param timeout in milliseconds
* @return
*/
public static JsonResult pingResult(String hostname,Integer timeout){
JsonResult jsonResult = new JsonResult();
try {
InetAddress address = InetAddress.getByName(hostname);
boolean flag = address.isReachable(timeout);
if(flag){
jsonResult.setMessage("ping结果:the address is reachable.");
}else{
jsonResult.setCode(Constants.ResultCode.EXCEPTION);
jsonResult.setMessage("ping结果:the address is unreachable.");
}
} catch (UnknownHostException e) {
jsonResult.setCode(Constants.ResultCode.EXCEPTION);
jsonResult.setMessage("ping结果:UnknownHostException:"+e.getMessage());
} catch (IOException e) {
jsonResult.setCode(Constants.ResultCode.EXCEPTION);
jsonResult.setMessage("ping结果:IOException:"+e.getMessage());
}
return jsonResult;
}
/***
* telnet 操作
* @param hostname
* @param timeout in milliseconds
* @return
*/
public static JsonResult telnetResult(String hostname,Integer port,Integer timeout){
JsonResult jsonResult = new JsonResult();
try {
Socket server = new Socket();
InetSocketAddress address = new InetSocketAddress(hostname,port);
server.connect(address, timeout);
server.close();
jsonResult.setMessage("telnet结果:success!");
}catch (UnknownHostException e) {
jsonResult.setCode(Constants.ResultCode.EXCEPTION);
jsonResult.setMessage("telnet结果:UnknownHostException:"+e.getMessage());
} catch (IOException e) {
jsonResult.setCode(Constants.ResultCode.EXCEPTION);
jsonResult.setMessage("telnet结果:IOException:"+e.getMessage());
}
return jsonResult;
}
}

相关类:

public class JsonResult {

    private String code;//结果编码
private String message;//结果描述
private Object data; public JsonResult() {
this.setCode(Constants.ResultCode.SUCCESS);
this.setMessage(Constants.ResultCode.SUCCESS.msg()); } public JsonResult(Constants.ResultCode code) {
this.setCode(code);
this.setMessage(code.msg());
} public JsonResult(Constants.ResultCode code, String message) {
this.setCode(code);
this.setMessage(message);
} public JsonResult(Constants.ResultCode code, String message, Object data) {
this.setCode(code);
this.setMessage(message);
this.setData(data);
} public String getCode() {
return code;
}
public void setCode(Constants.ResultCode code) {
this.code = code.val();
this.message = code.msg();
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
} public Object getData() {
return data;
} public void setData(Object data) {
this.data = data;
}
}
public class Constants {
/***
*删除状态
*/
public static enum DeleteStatus{
NORMAL("0","NORMAL","正常"),DELETE("1","DELETE","删除");
private DeleteStatus(String value,String name,String desc){
this.value=value;
this.name=name;
this.desc=desc;
}
private final String value;
private final String name;
private final String desc; public String getValue() {
return value;
} public String getName() {
return name;
} public String getDesc() {
return desc;
}
} /***
* Result code
*/
public static enum ResultCode {
/** 成功 */
SUCCESS("200", "成功"),
NULL_DATA("205","无数据"),
/** 没有登录 */
NOT_LOGIN("400", "没有登录"), /** 发生异常 */
EXCEPTION("401", "发生异常"), /** 系统错误 */
SYS_ERROR("402", "系统错误"), /** 参数错误 */
PARAMS_ERROR("403", "参数错误 "), /** 不支持或已经废弃 */
NOT_SUPPORTED("410", "不支持或已经废弃"), /** AuthCode错误 */
INVALID_AUTHCODE("444", "无效的AuthCode"), /** 太频繁的调用 */
TOO_FREQUENT("445", "太频繁的调用"), /** 未知的错误 */
UNKNOWN_ERROR("499", "未知错误"), private ResultCode(String value, String msg){
this.val = value;
this.msg = msg;
} public String val() {
return val;
} public String msg() {
return msg;
} private String val;
private String msg;
} }

Java——ping & telnet实现的更多相关文章

  1. Java 实现 telnet命令 验证主机端口的连通性

    Java 实现 telnet命令 验证主机端口的连通性 1.Telnet 命令 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在本地计 ...

  2. What are Traceroute, Ping, Telnet and Nslookup commands?

    https://help.maximumasp.com/KB/a445/connectivity-testing-with-ping-telnet-tracert-and-pathping-.aspx ...

  3. centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课

    centos linux系统日常管理3  服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...

  4. Java调用Telnet示例

    import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.io.U ...

  5. ping telnet ssh netstat

    1.pingping命令工作在OSI参考模型的第三层-网络层.ping命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命 ...

  6. ping,telnet,tracert分别用的是什么协议

    Telnet使用的是tcp协议使用示例:telnet 192.168.1.20 80 ping命令使用的是icmp协议示例:ping www.sina.com.cn或ping 192.168.1.10 ...

  7. ping telnet 指令

    Ping 一 作用 ping能够辨别网络功能的某些状态,这些状态是日常网络故障诊断的基础.Ping能够识别连接的二进制状态(看是否连通).Ping命令通过过向计算机发送ICMP回应报文并监听回应报文的 ...

  8. 如何测试一台主机的IP和端口是否能连通,ping telnet

    通过ping 判断一台主机是否开机. 通过:telnet 121.199.167.99 61616  判断一台主机的端口是否能连通. 本机------本地防火墙-------本地路由器-------- ...

  9. Java ping 主机 端口

    22:04:08.002 [main] INFO Ping - 目标地址 192.168.1.107 是否可到达:true 22:04:08.006 [main] INFO Ping - 执行命令 p ...

随机推荐

  1. TCP/IP协议 数据链路层

    以太网 1.以太网(Ethernet)是一种计算机局域网技术,由Xerox.Intel公司在1982年联合开发的技术规范. 2.IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包 ...

  2. [PCL]模型拟合方法——随机采样一致性

    SACSegmentation封装了多种Ransac方法,包括: RandomSampleConsensus, LeastMedianSquares, MEstimatorSampleConsensu ...

  3. ln -s软链接文件算文件吗

    场景: 开发A在windows环境下完成了开发,配置管理员cm搭建jenkins在centos环境下编译,cm编译失败,但是开发A在他的windows环境下可以编译过,最后发现是某几个so文件的软链接 ...

  4. JAVA判断是否是手机设备访问

    package com.common.util; import java.util.regex.Matcher;import java.util.regex.Pattern; /** * 检测是否为移 ...

  5. 构建stm32最小系统板注意事项

    由于学习工作的需要自己定制stm32系统板,以下将关键的注意事项进行解释,欢迎交流.(以stm32f103为例) 1.VBAT引脚 在主流的设计中,VBAT与0欧的电阻串联,接至3.3V. 2.OSC ...

  6. 在Linux下如何使用openssl生成RSA公钥和私钥对

    在<Java实现RSA密钥对并在加解密.加签验签中应用的实例>中,我们有用Java代码生成RSA密钥对,其实在Linux操作系统中,用openssl也是很容易生成密钥对的. 一.如果在ub ...

  7. Docker入门详解(转载)

    来源 http://dockone.io http://dockone.io/article/6051 Docker是世界领先的软件容器平台,所以想要搞懂Docker的概念我们必须先从容器开始说起. ...

  8. Qt QLabel QTextBrowser 实现网址链接

    勾选属性: 并且编辑网址链接: QLabel--点击text属性的...:  QTextBrowser--双击控件

  9. vuepress 学习心得

    vuepress是一个静态网站生成器,在我看来就是写博客和教程的好工具.教程请见官网:https://www.vuepress.cn 安装方法建议局部安装:node8.0以上,新建vue项目,可能会出 ...

  10. Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件

    Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入.导出数据非常方便.其中Aspose.Cells就是用来操作Excel的,功能有很多.我所用的是最基本的 ...