制作图形界面

This commit is contained in:
Administrator
2022-12-25 14:53:46 +08:00
parent 0797da8eb3
commit 6dd349e722
106 changed files with 13020 additions and 312 deletions
+43 -39
View File
@@ -17,74 +17,79 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import javax.naming.spi.Resolver;
import javax.swing.JPanel;
import org.kne.cloud.network.mport.IPPort;
public class Tunnel {
public class Tunnel{
private String name;
private IPPort ipport;
private boolean state=false;
private TListener tlr;
public boolean isState() {
return state;
}
public void setState(boolean state) {
this.state = state;
if(tlr!=null) {
tlr.setState(state);
}
}
public IPPort getIpport() {
return ipport;
}
private long delay=Long.MAX_VALUE;
public TListener getTlr() {
return tlr;
}
public void setTlr(TListener tlr) {
this.tlr = tlr;
}
public long getDelay() {
return delay;
}
public void setDelay(long delay) {
this.delay = delay;
if(tlr!=null)
tlr.setDelay(delay);
}
private static Map<IPPort,Tunnel> tls=new ConcurrentHashMap<>();
private Tunnel(String name, IPPort ipport) throws UnknownHostException {
super();
this.name = name;
this.ipport=ipport;
}
public static Tunnel newTunnel(String name, IPPort ipport) throws UnknownHostException {
Tunnel tmp=tls.get(ipport);
if(tmp!=null) {
return tmp;
}
tmp=new Tunnel(name, ipport);
tls.put(ipport, tmp);
return tmp;
}
public static Tunnel newTunnel(String name, String ipport) throws UnknownHostException {
public Tunnel() {
return newTunnel(name, new IPPort(ipport));
}
public static Tunnel newTunnel(String name, String ip, int port) throws UnknownHostException {
return newTunnel(name, new IPPort(ip, port));
}
public static Tunnel newTunnel(String s) throws UnknownHostException {
String[]t=s.split("\\$");
return newTunnel(t[0], t[1]);
public Tunnel(String name, IPPort ipport) {
super();
this.name = name;
this.ipport = ipport;
}
public String getName() {
return name;
}
public String getIp() {
return ipport.getIp().getHostAddress();
return getIpport().getIp().getHostAddress();
}
public int getPort() {
return ipport.getPort();
return getIpport().getPort();
}
@Override
public String toString() {
return name+"$"+ipport;
return getName()+"$"+getIpport();
}
public Socket connectClientSocket() throws UnknownHostException, IOException {
Socket socket=new Socket();
socket.connect(ipport.getSocketAddress(), 10000);
socket.connect(getIpport().getSocketAddress(), 10000);
return socket;
}
@Override
public int hashCode() {
return Objects.hash(ipport, name);
return Objects.hash(getIpport(), getName());
}
@Override
public boolean equals(Object obj) {
@@ -95,20 +100,19 @@ public class Tunnel {
if (getClass() != obj.getClass())
return false;
Tunnel other = (Tunnel) obj;
return Objects.equals(ipport, other.ipport) && Objects.equals(name, other.name);
}
public static void states() {
Set<Entry<IPPort, Tunnel>> s=tls.entrySet();
for (Iterator iterator = s.iterator(); iterator.hasNext();) {
Entry<IPPort, Tunnel> entry = (Entry<IPPort, Tunnel>) iterator.next();
Tunnel tll=entry.getValue();
System.out.println(tll.getName()+" "+((tll.getDelay()==Long.MAX_VALUE)?"δ֪":tll.getDelay()/1000000+"ms")+" Á¬½ÓÊý"+tll.ati);
}
return Objects.equals(getIpport(), other.getIpport()) && Objects.equals(getName(), other.getName());
}
private AtomicInteger ati=new AtomicInteger(0);
public AtomicInteger getCCount() {
return ati;
}
public void setName(String name) {
this.name = name;
}
public void setIpport(IPPort ipport) {
this.ipport = ipport;
}
}