📄 serviceclient.java
字号:
package com.ideas.communicate;
import java.net.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import com.ideas.parser.*;
import java.awt.event.*;
import com.ideas.util.Configuration;
public class ServiceClient
extends Thread
implements ActionListener {
private Socket client;
public static int client_state = 0; //被监控服务器状态,0,正常,1,异常
//设置定时器
javax.swing.Timer timer = new javax.swing.Timer(Configuration.TimerDelay, this);
public ServiceClient(Socket sock) {
this.client = sock;
timer.start();
}
public void run() {
try {
System.out.println("客户端(" + client + ")已经连接!\n");
BufferedReader br = new BufferedReader(new InputStreamReader(client.
getInputStream()));
String line;
String buffer = new String();
while ( (line = br.readLine()) != null) {
if (!line.equals("<EOF>")) {
buffer+=line;
//System.out.println("each line:"+line);
}
else {
new Parser().parse(buffer);
buffer="";
System.out.println("被监控主机 "+client.getInetAddress().toString()+" 数据更新完成。" + new Timestamp(new java.util.Date().getTime()));
}
client_state = 0;
timer.restart();
}
System.out.println("total:" + buffer.toString());
}
catch (Exception e) {
System.err.println(e.getMessage());
//e.printStackTrace();
}
finally {
// 清除
System.out.println("清除连接: " + client);
try {
client.close();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent e) {
if (client_state == 1) {
System.err.println("被监控服务器数据长期没有更新!");
}
else if (client_state == 0) {
client_state = 1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -