JAVA

서버 모니터링 작업을 위한 server소스

질주하는구 2020. 9. 3. 11:03
서버의 동작 상태를 모니터링 하기 위해 주기적으로 정보를 주고 받아야 하는경우 해당 서버에 아래의 코드로 동작하는 소스를 업로드 합니다.
package socketCommunication;

import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

import org.apache.log4j.Logger;

public class ServerMain {
	private static final Logger log = Logger.getLogger(ServerMain.class);
	public static void main(String[] args) {
		ServerSocket serverSocket =  null;
		try{
			serverSocket = new ServerSocket(8081);
			while(true){
				Socket socket = serverSocket.accept(); 
				log.info(socket.getInetAddress()+"에서 연결 요청");
				
				OutputStream out = socket.getOutputStream();
				DataOutputStream dos = new DataOutputStream(out);
				//서버(체크 후 어떤 정보를 클라이언트에 보낼지 정해서 전송)
				//시작
				//처리 및 응답 데이터는 유형별로 따로 정의
				dos.writeUTF("true");
				dos.flush();
				log.info("메시지 전송 완료");
				//끝
				//서버(체크 후 어떤 정보를 클라이언트에 보낼지 정해서 전송)
				out.close();
				dos.close();
				socket.close();
			}
		}catch(IOException e){
			log.error(e);
		}finally{
			if(serverSocket!=null)try{serverSocket.close();}catch(Exception e){}
		}
	}

}
서버의 상태를 체크하고 체크가 완료되면 상태를 TRUE/FALSE로 리턴 합니다.
반응형