5,655
社区成员
发帖
与我相关
我的任务
分享
public class InOutDataService implements InitializingBean, Runnable {
@Autowired
SysIOMapper sysIOMapper;
private Logger logger = Logger.getLogger(this.getClass());
private static final int PORT = 10101;
private static ServerSocket serverSocket;
private static boolean isStartServer = false;
private static Socket client;
private static BufferedReader reader;
@Override
public void afterPropertiesSet() throws Exception {
new Thread(this).start();
}
@Override
public void run() {
while(true) {
System.out.println("------------------- start now ------------------" + DateUtils.getDateStr(DateUtils.DATETIMESHOWFORMAT));
try {
serverSocket = new ServerSocket(PORT);
client = serverSocket.accept();
} catch(IOException e) {
e.printStackTrace();
}
isStartServer = true;
while(isStartServer) {
try {
List<PlcIOData> list = null;
reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
String msg = reader.readLine();
if(msg != null) {
System.out.println(msg);
String msg1;
//这段代码处理消息
}
//Thread.sleep(10000);
} catch(Exception e) {
logger.error(e.getMessage());
try {
reader.close();
client.close();
serverSocket.close();
isStartServer = false;
Thread.sleep(1000);
} catch(IOException | InterruptedException e1) {
logger.error(e.getMessage());
e1.printStackTrace();
}
logger.error(e.getMessage());
e.printStackTrace();
}
}
}
}
}