?? networkmanager.java
字號:
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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -