💡My project/네이트톡 : Java 소켓 통신 프로젝트 4

개인 프로젝트(1) -<소켓 통신을 이용한 채팅 프로그램 만들기(4)>

개인 프로젝트(1) -1. 현황과 구현해야 할 기능 정리2. 프로젝트 정리3. 돌아보기4. 깃허브 및 영상 자료1. 현황과 구현해야 할 기능 정리-현황: 서버소켓-소켓 연결, 방 생성 및 퇴장, 채팅 기능 구현-구현하고 싶었던 기능(목표): 이모티콘 및 사진 파일 전송, 서버 관리자 기능 추가, 채팅 로그 저장 기능 추가 자바 소켓 통신 프로그램 만들기의 마지막 날이다. 부족한 부분들이 많았지만 마지막까지 최선을 다하고 싶었다. 전날 두 시간 내내 붙잡고 있던 이모티콘 전송, 사진 파일 전송, 서버 관리자 기능 추가(방 삭제, 멤버 강퇴, 채팅 로그 읽기 등등), 채팅 로그 저장 등을 구현하고 싶었지만... 시간적인 한계 때문에 모두 구현하지 못했다. 프로젝트가 끝난 뒤라도 코드를 더 추가하여, 기능을 ..

개인 프로젝트(1) -<소켓 통신을 이용한 채팅 프로그램 만들기(3)>

개인 프로젝트(1) -1. 현황 및 구현해야 할 기능2. 느낀 점1. 현황 및 구현해야 할 기능 (1) 현황-어제는 기본적인 기능(로그인, 서버 소켓-소켓 연결, 채팅방 및 대기방 패널 만들기)들을 구현했었다. 오늘의 목표는 프로토콜과 I/O 스트림을 사용해 소켓에서 메세지들을 전달받고, 이를 통해 채팅이 가능하게끔 구현하는 것이었다. *이 때, 서버에서는 전체 채팅 흐름(방 생성 및 출입, 메세지 등)을 살필 수 있고, 클라이언트들은 방 생성 및 출입, 채팅이 가능하게끔 하는 것이 목표였다. 서버는 어디까지나 관리자이기에 채팅 기능은 넣지 않기로 결정했다. (2) 구현한 것-토크나이저(Tokenizer)를 활용한 프로토콜 시스템을 만드는 게 무척 어려웠다. 처음에는 어떤 메커니즘으로 클라이언트/서버에게..

개인 프로젝트(1) -<소켓 통신을 이용한 채팅 프로그램 만들기(2)>

개인 프로젝트(1) -1. 구현한 기능2. 느낀 점+영상1. 구현한 기능: 로그인 화면, 대기방 및 채팅창 패널 띄우기 개인 프로젝트의 두 번째 날이다. 그래도 하루를 꼬박 코드들을 이해하는 데 시간을 보내고 나니, 채팅 프로그램이 어떻게 작동하는지, 프로토콜이 어떤 식으로 사용되는지 조금씩 감을 잡을 것 같았다.    그렇게 조금씩 가닥이 잡혀가고, 내가 작성할 수 있는 코드들을 조금씩 쓰기 시작했다. (1) 채팅 프로그램 시작 시 제일 처음 보이는 로그인 화면, (2) 대기실, (3) 채팅방, 그리고 이 패널들을 모두 JTabbedPane에 붙이는 것이 그것이었다. 확실히 뼈대가 되는 기능/패널들을 구현하고 나니, 내가 무엇을 해야할 지 점점 확실해지기 시작했다.(프로토콜은 여전히 어려웠다...)2-..

개인 프로젝트(1) -<소켓 통신을 이용한 채팅 프로그램 만들기(1)>

개인 프로젝트(1) -1. 프로젝트 시작하기2. 코드 예제 분석 1. 프로젝트 시작하기: 자바 소켓 통신을 활용한 채팅 프로그램  첫 팀 프로젝트가 끝나고 벌써 일주일! 소켓 통신을 활용한 개인 프로젝트가 시작되었다. 이번의 주제는 '소켓 통신을 사용하여 채팅 프로그램 만들기'이다. 채팅이라는 말에 처음에는 카카오톡, 라인, 디스코드 등의 어플들을 떠올렸다. 그런데 원체 유명하고, 안 쓰는 사람이 없을 정도의 프로그램들이라 주제가 겹칠 것 같아 걱정되었다.  그러다 초등학생 시절, 안 하는 친구가 없었던 추억 속의 채팅 프로그램 "Nate-On"을 떠올렸다. 네이트온의 경우는 실제로 PC용 프로그램이었던 만큼 참고하기도 좋을 것 같았다. 그렇게 "네이트온"을 모티브로 한 소켓 통신-채팅 프로그램 제작이 ..