TcpServerTest
1. 클라이언트 ip 년도 월 일 log.txt 파일 생성 ("", true)
2. 해당 ip 클라이언트 접속 시, 분, 초 기록 저장
TcpClient
package TcpServer.project;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class TcpClient {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket s = new Socket("192.168.103.163",9999);
System.out.println("서버와 연결되었습니다.");
// 서버 : PrintWriter => String출력
InputStream i = s.getInputStream();
Scanner si = new Scanner(i);
System.out.println("서버로부터 전송받은 데이터 ="+si.nextLine());
s.getInputStream();
s.close();
// 3. 통신 = 입출력, 서버 클라이언트 입출력 구현 생략
s.close();
}
}
TcpServerFileLogTest
package TcpServer.project;
import java.io.FileWriter;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TcpServerFileLogTest {
public static void main(String[] args) throws IOException {
// 1. 서버 소켓 생성
ServerSocket server = new ServerSocket(9999);
System.out.println("서버는 9999포트에서 실행중입니다. ");
while (true) {
Socket s = server.accept();
// 클라이언트 ip조회
// 클라이언트 최초 서버 접속 날짜 조회
String client_ip = s.getInetAddress().getHostAddress();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년MM월dd일");
String client_day = sdf.format(new Date()); // 1/1000초 단위
String client_logfile = client_ip + " " + client_day + "_log.txt";
FileWriter fw = new FileWriter(client_logfile, true);
SimpleDateFormat sdf2 = new SimpleDateFormat("HH시mm분ss초");
String client_time = sdf2.format(new Date());
fw.write(client_time + "에 접속하셨습니다. \n");
fw.close();
}
}
}