📄 discoveryinfo.java
字号:
/* * This file is part of JSTUN. * * Copyright (c) 2005 Thomas King <king@t-king.de> - All rights * reserved. * * This software is licensed under either the GNU Public License (GPL), * or the Apache 2.0 license. Copies of both license agreements are * included in this distribution. */package de.javawi.jstun.test;import java.net.*;public class DiscoveryInfo { private InetAddress testIP; private boolean error = false; private int errorResponseCode = 0; private String errorReason; private boolean openAccess = false; private boolean blockedUDP = false; private boolean fullCone = false; private boolean restrictedCone = false; private boolean portRestrictedCone = false; private boolean symmetricCone = false; private boolean symmetricUDPFirewall = false; private InetAddress publicIP; public DiscoveryInfo(InetAddress testIP) { this.testIP = testIP; } public boolean isError() { return error; } public void setError(int responseCode, String reason) { this.error = true; this.errorResponseCode = responseCode; this.errorReason = reason; } public boolean isOpenAccess() { if (error) return false; return openAccess; } public void setOpenAccess() { this.openAccess = true; } public boolean isBlockedUDP() { if (error) return false; return blockedUDP; } public void setBlockedUDP() { this.blockedUDP = true; } public boolean isFullCone() { if (error) return false; return fullCone; } public void setFullCone() { this.fullCone = true; } public boolean isPortRestrictedCone() { if (error) return false; return portRestrictedCone; } public void setPortRestrictedCone() { this.portRestrictedCone = true; } public boolean isRestrictedCone() { if (error) return false; return restrictedCone; } public void setRestrictedCone() { this.restrictedCone = true; } public boolean isSymmetricCone() { if (error) return false; return symmetricCone; } public void setSymmetricCone() { this.symmetricCone = true; } public boolean isSymmetricUDPFirewall() { if (error) return false; return symmetricUDPFirewall; } public void setSymmetricUDPFirewall() { this.symmetricUDPFirewall = true; } public InetAddress getPublicIP() { return publicIP; } public void setPublicIP(InetAddress publicIP) { this.publicIP = publicIP; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append("Network interface: "); try { sb.append(NetworkInterface.getByInetAddress(testIP).getName()); } catch (SocketException se) { sb.append("unknown"); } sb.append("\n"); sb.append("Local IP address: "); sb.append(testIP.getHostAddress()); sb.append("\n"); if (error) { sb.append(errorReason + " - Responsecode: " + errorResponseCode); return sb.toString(); } sb.append("Result: "); if (openAccess) sb.append("Open access to the Internet.\n"); if (blockedUDP) sb.append("Firewall blocks UDP.\n"); if (fullCone) sb.append("Full Cone NAT handles connections.\n"); if (restrictedCone) sb.append("Restricted Cone NAT handles connections.\n"); if (portRestrictedCone) sb.append("Port restricted Cone NAT handles connections.\n"); if (symmetricCone) sb.append("Symmetric Cone NAT handles connections.\n"); if (symmetricUDPFirewall) sb.append ("Symmetric UDP Firewall handles connections.\n"); if (!openAccess && !blockedUDP && !fullCone && !restrictedCone && !portRestrictedCone && !symmetricCone && !symmetricUDPFirewall) sb.append("unkown\n"); sb.append("Public IP address: "); if (publicIP != null) { sb.append(publicIP.getHostAddress()); } else { sb.append("unknown"); } sb.append("\n"); return sb.toString(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -