package com.dev.lock.comm; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.config.AppConfig; import com.dev.lock.data.ElectLock_Array; import com.sql.MysqlConnPool; public class Lock_ServerSocket_Thread extends Thread{ private MysqlConnPool pool; private AppConfig config; private Logger logger; private ElectLock_Array GB_Lock_Array; public Lock_ServerSocket_Thread(MysqlConnPool pool,ElectLock_Array GB_Lock_Array,AppConfig config){ this.pool = pool; this.config = config; this.GB_Lock_Array = GB_Lock_Array; this.logger = LogManager.getLogger(this); } @Override public void run() { logger.info(this.getName() + " - Lock_ServerSocket_Thread Started On Port " + config.getLockAcceptPort() ); ServerSocket server = null; while(true) { try { logger.info(" Power_ServerSocket_Thread 开始监听" + config.getLockAcceptPort() + "端口"); //监听9611端口 server = new ServerSocket(config.getLockAcceptPort()); server.setSoTimeout(600000); while(true) { Socket tmp_socket = server.accept(); Lock_SocketClient_Thread client_Thread = new Lock_SocketClient_Thread(pool,GB_Lock_Array, config, tmp_socket); client_Thread.start(); } } catch (Exception e) { logger.error(e.toString(),e); try { Thread.sleep(5000); } catch (InterruptedException e1) { logger.error(e1.toString(),e1); } } finally { if(null != server) { try { server.close(); } catch (IOException e1) { logger.error(e1.toString(),e1); } } } } } }