package com.dev.fgcd.comm;
|
|
import java.io.IOException;
|
import java.net.ServerSocket;
|
import java.net.Socket;
|
import java.net.SocketTimeoutException;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
import com.battmonitor.data.BattData_RT_Array;
|
import com.battmonitor.sql.MysqlConnPool;
|
import com.config.AppConfig;
|
|
public class FGCD_ServerSocket_Thread implements Runnable{
|
public MysqlConnPool m_ConnPool = null;
|
public BattData_RT_Array m_Data;
|
public ServerSocket m_ServerSocket = null;
|
public AppConfig config;
|
|
private Logger logger = null;
|
|
public FGCD_ServerSocket_Thread(MysqlConnPool m_ConnPool,BattData_RT_Array m_Data,AppConfig config) {
|
this.m_ConnPool = m_ConnPool;
|
this.m_Data = m_Data;
|
this.config = config;
|
this.logger = LogManager.getLogger(this);
|
}
|
|
|
@Override
|
public void run() {
|
|
while(true) {
|
try {
|
logger.trace("FGCD_ServerSocket_Thread Started On Port 8059");
|
|
this.m_ServerSocket = new ServerSocket(8059);
|
while(true) {
|
this.m_ServerSocket.setSoTimeout(600000); //600 seconds
|
|
Socket tmp_socket = this.m_ServerSocket.accept();
|
logger.trace("this.m_ServerSocket.accept");
|
FGCD_SocketClient_Thread client = new FGCD_SocketClient_Thread(m_ConnPool, m_Data, tmp_socket);
|
client.start();
|
|
//-----------------------------------------------------------------------------------------//
|
}
|
} catch (SocketTimeoutException e1) {
|
logger.trace(e1.toString());
|
} catch (IOException e) {
|
logger.error(e.toString(), e);
|
} finally {
|
try {
|
Thread.sleep(500);
|
if(null != this.m_ServerSocket) {
|
this.m_ServerSocket.close();
|
}
|
Thread.sleep(500);
|
} catch (IOException | InterruptedException e1) {
|
logger.error(e1.toString(), e1);
|
}
|
}
|
}
|
}
|
|
}
|