?? 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 + -