networkmanager.java
来自「J2ME自动获取网络连接的方法」· Java 代码 · 共 61 行
JAVA
61 行
package net.sourceforge.j2meautonetwork.operation;
import java.util.Vector;
import net.sourceforge.j2meautonetwork.model.User;
import net.sourceforge.j2meautonetwork.util.CodeDefine;
import net.sourceforge.j2meautonetwork.util.Utilities;
public class NetworkManager {
private static NetworkManager instance = null;
private NetworkManager() {
}
public static synchronized NetworkManager getInstance() {
if (instance == null) {
instance = new NetworkManager();
}
return instance;
}
public User autoNetworkTest() {
for (int i = 0; i < CodeDefine.PROXY_URLS.length; i++) {
NetworkDetector nd = new NetworkDetector(CodeDefine.PROXY_URLS[i]);
new Thread(nd).start();
long startime = System.currentTimeMillis();
debug(" " + i + ", start");
low:{
for (;;) {
if (nd.getOver()) {
if (nd.getConnected()) {
debug("当前连接方式: " + i + ", " + CodeDefine.USER_NETWORKS[i]);
return null;
} else {
break low;
}
}
debug("检测 " + i + ", 已经过了 " + (System.currentTimeMillis() - startime) + "毫秒");
if((System.currentTimeMillis() - startime)>=CodeDefine.HTTP_CONNECT_TIME_OUT){
nd.notifyStop();
break low;
}
try {
Thread.sleep(5000L);
} catch (InterruptedException e) {
}
}
}
debug(" " + i + ", end");
}
debug("尝试了很多种连接方式后,没有连上");
return null;
}
private void debug(String log) {
Utilities.debug("Manager " + log);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?