Java——ping & telnet实现
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实现的更多相关文章
- Java 实现 telnet命令 验证主机端口的连通性
Java 实现 telnet命令 验证主机端口的连通性 1.Telnet 命令 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在本地计 ...
- What are Traceroute, Ping, Telnet and Nslookup commands?
https://help.maximumasp.com/KB/a445/connectivity-testing-with-ping-telnet-tracert-and-pathping-.aspx ...
- 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 ...
- Java调用Telnet示例
import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.io.U ...
- ping telnet ssh netstat
1.pingping命令工作在OSI参考模型的第三层-网络层.ping命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命 ...
- ping,telnet,tracert分别用的是什么协议
Telnet使用的是tcp协议使用示例:telnet 192.168.1.20 80 ping命令使用的是icmp协议示例:ping www.sina.com.cn或ping 192.168.1.10 ...
- ping telnet 指令
Ping 一 作用 ping能够辨别网络功能的某些状态,这些状态是日常网络故障诊断的基础.Ping能够识别连接的二进制状态(看是否连通).Ping命令通过过向计算机发送ICMP回应报文并监听回应报文的 ...
- 如何测试一台主机的IP和端口是否能连通,ping telnet
通过ping 判断一台主机是否开机. 通过:telnet 121.199.167.99 61616 判断一台主机的端口是否能连通. 本机------本地防火墙-------本地路由器-------- ...
- Java ping 主机 端口
22:04:08.002 [main] INFO Ping - 目标地址 192.168.1.107 是否可到达:true 22:04:08.006 [main] INFO Ping - 执行命令 p ...
随机推荐
- JS生成当前月份包括最近12个月内的月份
var last_year_month = function() { var result = []; for(var i = 0; i < 12; i++) { var d = new Dat ...
- 一张图解释IaaS,PaaS,SaaS
图片来源于MVA教程:快速入门——面向IT专业人员的Windows Azure IaaS
- Fiddler抓包【6】_Fiddler Script
1.安装SyntaxView插件 使用Fiddler Script前需要安装SyntaxView插件: 方式1:Inspectors tab--->Get SyntaxView tab---&g ...
- day13 python迭代器与生成器
迭代器 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的 可迭代协议 : 就是内部实现了__iter__方法 可以被for循环的都是可迭代的,要想可迭代,内部必须有一个__ite ...
- SQL学习基础 => 创建表
--创建表 CREATE TABLE userinfo3 ( ID INT PRIMARY KEY NOT NULL, --ID 整数类型,设置为主键,并且不能为空 name ) NOT NULL, ...
- platform怎么实现数据数据和驱动分离
一些重要的结构体: struct platform_device { const char * name; int id; struct device dev; u32 num_resources; ...
- 自己动手写java锁
1.LockSupport的park和unpark方法的基本使用,以及对线程中断的响应性 LockSupport是JDK中比较底层的类,用来创建锁和其他同步工具类的基本线程阻塞原语.java锁和同步器 ...
- 编译jmeter5.0源码
jmeter5.0使用过程中,遇到request或者response乱码的情况,想要一次性解决这个问题,需要编译ApacheJMeter_http.jar这个包(lib\ext文件下)里的Reques ...
- c# WebApi之接口返回类型详解
c# WebApi之接口返回类型详解 https://blog.csdn.net/lwpoor123/article/details/78644998
- SQL并发处理方案——乐观锁和悲观锁
(一)乐观锁和悲观锁的概念 悲观锁 在关系数据库管理系统里,悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)是一种并发控制的方法.它可以阻 ...