- Java Swing 환경의 텍스트 채팅 애플리케이션으로, Socket 통신과 Multi Thread 프로그래밍으로 구현한 채팅 프로그램
- 그룹 채팅 및 실시간 그림판 기능을 제공하며 MySQL을 이용하여 유저 정보를 데이터베이스에 저장 및 수정, 삭제가 가능한 프로그램
- 다른 컴퓨터에서 통신할 땐
LogInLayout클래스에 있는ipAddress를localhost에서 서버의 IP주소로 수정하여 사용한다.
JDBCconnector클래스를 이용하여MySQLDB 접속을 통해 사용자의 정보를 저장 및 관리한다.
- 클라이언트가 접속하면
ServerBack클래스 에 있는clientThreadList에 해당 스레드를 추가한다. - 그 후
ClientBack클래스 에서 접속한 클라이언트의 닉네임을 서버로 전송한다. ServerBack클래스가 받은 닉네임은nickNameList에 추가하고 접속중인 모든 클라이언트의 유저목록을 Clear한 후 다시ServerBack클래스 에 있는nickNameList에 있는 모든 닉네임을 추가한다.
- 입력창에 보낼 메세지를 입력하고 전송버튼을 누르거나 엔터를 입력하면 해당 메세지는 서버로 전송된다.
- 메세지를 받은 서버는 모든 클라이언트에게 보낸 유저와 메세지 내용을 전달한다.
- 채팅방을 만들면
ServerBack클래스 의roomMap에 채팅방의 이름과 새로운 포트번호를 갖는ServerBack클래스를 추가한다. - 각 채팅방은 각각의
ServerBack클래스와 통신한다.
- 채팅방에서 그림을 그리면 해당 좌표를 명령어와 함께 서버로 보낸다.
- 서버는 해당 좌표와 명령어를 채팅방에 있는 모든 유저들의
GroupChatBack클래스로 보낸 후 해당 좌표에 실시간으로 그린다.
- 햇님모양 버튼을 누르면 https://weather.naver.com/today 사이트의 HTML정보를 크롤링하여 날씨 정보를 추출한다.
지도교수 : 유동영 교수님
사용 라이브러리 : jsoup-1.15.3.jar, mysql-connector-j-8.0.31.jar
제작기간 : 약 4주(18시간 + 개인 개발 시간)







