InsideOut_Chatting Program
[ DEVELOPERS ]
Danbee, Sungjin, Hyemin, Yechan, Soobin
우리팀은 모두 처음 프로그램을 만드는 조원들이었다.
그래서 많이 부족하지만
다들 열정적으로 프로젝트를 만들었다.
많이 막히고 답답하고 맨땅에 헤딩하는 기분도 들었지만
그만큼 얻는것이 많았다.
처음에는
"우리 프로필 사진도 넣어보자!",
"사진 전송기능도 구현해볼까?",
"회원가입도 해야해! 거기서 이미지를 정하는거지 !"
....
시작은 거창한 계획을 잔~뜩 세웠다 :)
시작이 거창했지에
결과는 시작에 세운 계획에 비해서는 초라했지만
우리들 결과로는 대 만 족!
[ 구현 기능 소개 ]
1) 회원가입 -> 액셀로 연결 저장
2) 로그인 -> 기존 ID/PASSWORD 일치여부 확인
3) 버튼색 설정 -> 회원가입시 선택한 캐릭터에 맞게 버튼색 변화
4) 채팅 내용 저장 -> 저장 버튼으로 채팅내용을 메모장에 저장
5) SOCKET 연결 -> SOCKET으로 통신 연결
SIGN UP
SIGN UP
일단 우리가 제일 만들고 싶었던 회원가입.
회원가입 정보를 받아서 어디에 저장 해야할지 고민이 너무 많았고,MY SQL 강의를 무식하게 찾아보다가..
내 수준에 맞는 엑셀 파일 저장하는 법을 찾아냈다 : )
심사숙고 해서 고른 애정이 담긴 우리 캐릭터들..💛
SIGN UP 에서는
정보 입력 -> SAVE를 누르면
actionPerformed method가 실행이 되는데
여기서 입력받은 자료들을 엑셀파일로 저장을 할 수 있게 된다.
이미 존재하는 파일이라면 그 안에 데이터를 대입을 해주고
존재하지 않는 파일이라면 파일을 생성해주고
제일 처음 속성 이름을 대입해주게 된다.
자료를 입력 받으면 Text box는 비워주고,
Combo 는 기본값으로 설정해주기.
그래야 다음 접속자가 들어왔을 때 그 전 정보가 사라지니까!!
LOGIN
채팅 프로그램에 들어가려면 아무나 들어가면 안되니까회원가입을 통해 정보가 일치하는 사람만 들어가게 해줘야지
로그인 정보를 입력하고 LOGIN 버튼을 누르면이번에도 실행되는 actionPerformed method
actionPerformed method는 Button을 누르면 실행되는 메소드니까 👀!
사용자 정보를 idCheak( idCheck, passcheak ) method에 보내기.
"이 정보가 맞아? 우리한테 가입된 사람이야 ? 확인해줘어 😐"
있는 정보를 한번씩 다 순회해서 AND조건이 만족할 때까지 돌고 돌아~
정보가 없으면 경고문을 내보내는 센스 💥
" 조건이 만족하면 나는 Careater를 반환해줄께 "
"그럼 나는 캐릭터에 맞는 색을 대입해서 char_bitton() 에게 보내줄께"
짠 !
회원가입 할 때 선택한 캐릭터에 따라 다른 버튼색.
사실 배경을 바꾸고 싶었는데
채팅창에 하는게 쉽지 않더라 역시 꿈은 크게
아.. 불태웠다 하나하나 구현해가면서 느끼는 성취감이 무지막지하다.
더 성장해서 다음번에는 처음 목표 달성하기. 😠
SOCKET
제일 고난이도 SOCKET 연결하기!
통신에 사용할 프로토콜은 연결형 또는 비연결형을 말하는데
인터넷 프로그램에서는 연결형 서비스를 TCP
또는 스트림(stream) 서비스라고도 부르고,
비연결형 서비스를 UDP 또는 데이터그램 서비스라고도 부른다.
자신의 IP 주소는 응용 프로그램이 수행되는 컴퓨터의 IP 주소를 말하며,
자신의 포트번호는 이 컴퓨터에서 수행되고 있는 응용 프로그램들 중 본
응용 프로그램을 구분하는 고유번호이다.
상대방의 IP 주소는 통신하고자 하는 상대방(목적지) 컴퓨터의 IP 주소를 말하며,
상대방의 포트번호는 목적지 컴퓨터내에서 수행중인 여러 응용 프로그램 중
나와 통신할 프로그램을 지정하는 번호이다.
socket()이 성공적으로 수행되면
새로 만들어진 소켓번호(int 타입)를 리턴하고
에러가 발생하면 -1이 리턴된다.
접속을 할 수 있는 길을 열어주는 신비로운,,,,,
아직 이해는 낮지만
예제도 열심히 따라하고 잘잘잘 해냈다.
해냈으니까 이제 이해 할 차례!
InputStream을 형성하고 BufferdReader를 생성한다.
연결 통로를 생성하는 기분 ?!
그렇게 SOCKET을 이용해서 접속하면
서로 채팅을 나눌 수 있는 눈에 보이지 않는 엄청난 통로가 생성되어있는것,,,
그러면 이렇게 우리 반 친구들끼리 소통할 수 있는 조그만한 세계가 열린다.
Export button을 누르면 내 메모장에 대화 내용이 저장되는 기능까지 추가.
"What i experienced?"
일주일동안 채팅프로그램을 만들면서 부족한 점도 많이 알게되고
보완하는 과정에서 많은걸 찾아보며 단기간에 성장했다고 느꼈다.
'책을 읽고 강의를 듣는것보다 만들면서 배운다는 말이 이런거였겠지?'
코딩을 시작하고 다양한 예제들을 풀어보고 따라해보고
반복 학습은 while문에 true를 대입한 것 처럼 무한 반복이었지만
이번 프로젝트를 함으로써,
구글링은 어떻게 해나가는 것인지.
팀 프로젝트는 어떻게 역활 분담을 해야하는건지,
다음번 프로젝트 때는 미리 변수 이름과 클래스 이름을 정하고 맞춰 나가야겠다는 생각
그리고 얼릉 다른 프로젝트에 임할 기대감,
더 탄탄히 준비해서 더 나은 프로그램을 만들겠다는 다짐을 얻고 이번 프로젝트를 마친다.
너무 애정이가는 내 First Inside Out Chat Program.💗
다음 프로젝트가 기대됩니다! :)
답글삭제같이 더 좋은 프로그램을 만들어요. 같이하면 못 만들게 없이 든든한
삭제