import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
@Component
public class ipConnetTest {
private static Logger log = LoggerFactory.getLogger(ipConnetTest.class);
@Value("${spring.test.telnetByip}")
private String ipport;
@PostConstruct
public boolean telnetport() throws IOException {
log.info("telnet ip:port start-----------------");
boolean res = false;
log.info("telnetport读取到的IP端口为:"+ipport);
String[] splitIPports=ipport.split(",");
Socket connect=null;
for( int i=0; i<splitIPports.length;i++){
log.info("正在Telnet当前IP:"+splitIPports[i]);
String[] splitIPport=splitIPports[i].split(":");
try {
connect = new Socket();
connect.connect(new InetSocketAddress(splitIPport[0], Integer.valueOf(splitIPport[1])), 1000);//建立连接
//能telnet通返回true,否则返回false
res = connect.isConnected();//通过现有方法查看连通状态
log.info("telent状态: "+res);
} catch (IOException e) {
log.info("telent失败原因: "+e.getMessage());
} finally {
try {
connect.close();
} catch (IOException e) {
log.info("telent失败原因: "+e.getMessage());
}
}
}
return res;
}
}
|