package cn.com.uangel.adsys.server; import java.net.ServerSocket; import java.net.Socket; import cn.com.uangel.adsys.server.thread.SolveRequest; import cn.com.uangel.adsys.util.Log; public class MainServer { private static DataManager dataManager; private static ServerSocket ss; public static void main(String[] args) { Log.info("服务器已开启!"); dataManager = new DataManager(); dataManager.init(); run(); } public static void run() { try { ss = new ServerSocket(2022); while (true) { Socket s = ss.accept(); try { new SolveRequest(s, dataManager); } catch (Exception e) { try { s.close(); } catch (Exception e1) { Log.error(e1, "Close socket failed."); } } } } catch (Exception e) { Log.error(e); dataManager.saveDataWhenException(); } finally { try { ss.close(); } catch (Exception e) { Log.error(e, "ServerSocket closed failed."); } } } }