多线程设置超时 测试端口是否打开
来源:互联网 发布:农业 知乎 编辑:程序博客网 时间:2024/05/16 10:18
package test;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
/**
* 多线程设置超时 测试端口是否打开
* @author Administrator
*
*/
public class NetTest implements Runnable{
private Socket socket;
private int index;
public static int num=5000;
private String ip;
private int port;
private static Queue<String> allIp;
public NetTest(int n){
index=n;
}
public static void main(String[] args) {
allIp = new LinkedList<String>();
allIp.offer("172.16.2.120:3306");
allIp.offer("172.16.2.9:60");
allIp.offer("172.16.2.2:80");
allIp.offer("172.16.2.110:80");
allIp.offer("172.16.2.3:80");
System.out.println(allIp.size());
for(int i=0;i<allIp.size()+1;i++){
new Thread(new NetTest(i)).start();
}
}
@Override
public void run() {
try {
if((ip=getIP())!=null){
// Socket socket = new Socket(ip,port);
Socket socket = new Socket();
SocketAddress address = new InetSocketAddress(ip, port);
socket.connect(address, 3000); //设置超时
System.out.println(ip+"端口已开放");
}
} catch (IOException e) {
System.out.println(ip+"端口未开放");
}finally{
try {
if(socket!=null)
socket.close();
} catch (IOException e) {
}
}
}
public String getIP(){
synchronized (allIp) {
ip = allIp.poll();
String[] ips=ip.split(":");
ip=ips[0];
port=Integer.parseInt(ips[1]);
}
return ip;
}
}
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
/**
* 多线程设置超时 测试端口是否打开
* @author Administrator
*
*/
public class NetTest implements Runnable{
private Socket socket;
private int index;
public static int num=5000;
private String ip;
private int port;
private static Queue<String> allIp;
public NetTest(int n){
index=n;
}
public static void main(String[] args) {
allIp = new LinkedList<String>();
allIp.offer("172.16.2.120:3306");
allIp.offer("172.16.2.9:60");
allIp.offer("172.16.2.2:80");
allIp.offer("172.16.2.110:80");
allIp.offer("172.16.2.3:80");
System.out.println(allIp.size());
for(int i=0;i<allIp.size()+1;i++){
new Thread(new NetTest(i)).start();
}
}
@Override
public void run() {
try {
if((ip=getIP())!=null){
// Socket socket = new Socket(ip,port);
Socket socket = new Socket();
SocketAddress address = new InetSocketAddress(ip, port);
socket.connect(address, 3000); //设置超时
System.out.println(ip+"端口已开放");
}
} catch (IOException e) {
System.out.println(ip+"端口未开放");
}finally{
try {
if(socket!=null)
socket.close();
} catch (IOException e) {
}
}
}
public String getIP(){
synchronized (allIp) {
ip = allIp.poll();
String[] ips=ip.split(":");
ip=ips[0];
port=Integer.parseInt(ips[1]);
}
return ip;
}
}
0 0
- 多线程设置超时 测试端口是否打开
- 测试setsockopt设置超时是否生效代码
- java测试网络连接是否成功并设置超时时间
- 如何测试远程服务器的某个端口是否打开?
- Linux 操作系统测试远程端口是否可达或本机端口是否打开方法
- 检测端口是否打开
- 测试端口是否开放
- 防止网页打开超时设置
- 检测远程端口是否打开
- 查看某个端口是否打开
- 检测远程端口是否打开
- 检测远程端口是否打开
- 检测远程端口是否打开
- libcurl多线程超时设置不安全
- libcurl多线程超时设置不安全
- 设置超时,处理cookie,多线程
- libcurl多线程超时设置不安全
- java多线程设置超时时间
- tomcat 源码学习
- Spring Ioc就是对java反射及读取xml文件的使用的封装
- 心灵语句
- arguments对象
- Android 阴影学习
- 多线程设置超时 测试端口是否打开
- 关于大型网站技术演进的思考(一):存储的瓶颈(1)
- adb命令查看app内存占用信息
- MacBook怎样装Win10 双系统玩转Win10
- 设计模式 - AbstactFactory 模式
- caller与callee
- 关于大型网站技术演进的思考(二):存储的瓶颈(2)
- Qt的 OpenSSH配置
- Singleton Pattern 单例模式