package com.dev_concentrator.data;
|
|
import java.io.IOException;
|
import java.net.ServerSocket;
|
import java.net.Socket;
|
import java.net.SocketTimeoutException;
|
import java.util.Date;
|
|
import com.battmonitor.base.Com;
|
import com.battmonitor.data.BattData_RT_Array;
|
import com.battmonitor.sql.MysqlConnPool;
|
|
public class Concentrator_ServerSocketThread extends Thread{
|
private MysqlConnPool pool ;
|
public ServerSocket m_ServerSocket = null;
|
private BattData_RT_Array GB_DataArray;
|
|
public Concentrator_ServerSocketThread(MysqlConnPool connPool,BattData_RT_Array GB_DataArray) {
|
this.pool = connPool;
|
this.GB_DataArray = GB_DataArray;
|
}
|
|
@Override
|
public void run() {
|
System.out.println("Concentrator_ServerSocketThread start at "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
while(true) {
|
try {
|
this.m_ServerSocket = new ServerSocket(9102);
|
while(true) {
|
this.m_ServerSocket.setSoTimeout(600000); //600 seconds
|
|
Socket tmp_socket = this.m_ServerSocket.accept();
|
|
Concentrator_SocketThread client = new Concentrator_SocketThread(pool, tmp_socket,GB_DataArray);
|
client.start();
|
}
|
} catch (SocketTimeoutException e1) {
|
//System.err.println(e1.getMessage());
|
} catch (IOException e) {
|
System.err.println(e.getMessage());
|
} finally {
|
try {
|
Thread.sleep(1000);
|
if(null != this.m_ServerSocket) {
|
this.m_ServerSocket.close();
|
}
|
} catch (IOException | InterruptedException e1) {
|
e1.printStackTrace();
|
}
|
}
|
}
|
|
}
|
}
|