⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 networkmanager.java

📁 J2ME自动获取网络连接的方法
💻 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 + -