[Hi Talk Messenger Ver 0.1] IOCP 서버 / MFC 클라이언트 메신저
//******************************************
+ 개발 환경 : Windows7 Pro 32bit kor
+ Visual Studio 2010 Pro 32bit kor
- Server : C++, ADO, IOCP Server
- Client : MFC
! 주요 기능 : 대화, 쪽지, 파일전송, 기타
******************************************//
--------------------------------------------------------------------------------------------------
<서버>
서버의 주 작동 구조는 IOCP를 이용한 Non Block 고속처리에 중점을 두었으며 MS Access 파일 DB를 이용한 데이터 관리로 간단히 작성하였다...
또한 서버 구조의 편의를 위해 ini 세팅 파일을 생성하여 주 변경 변수들을 유저가 작성하여 서버를 컨트롤 하도록 제작하였다...
속도를 위해서 파일전송을 제외한 모든 기능은 서버쪽에서 담당하였으며 기능 구현에만 초점을 맞춰서 버그가 엄청나게 자라고 있는 중이다...
[서버 데이터베이스 구조]
FRIEND_LIST : 자신이 추가한 친구들 계정정보를 담고 있다
MY_MEMO : 비로그인시 도착한 쪽지 정보를 저장하는 테이블
FIREND_ADD_REQUEST : 비로그인시 친구요청 정보를 저장하는 테이블
============================================================================================================
<클라이언트>
클라이언트는 주로 기능위주의 구현에만 신경을 써서 디자인은 형편이 없다...
주요 기능으로 쪽지, 대화, 파일전송이 있으며 친구관리 등의 기타 세부 기능들을 포함하고 있다...
<그룹 기능은 아직 미포함>
소스파일은 포함하지 않으며 컴파일한 서버 및 클라이언트 프로그램 바이너리를 배포합니다
버그 제보 : copynull@nate.com 으로 부탁드립니다...
메신저를 개발해보면서 서버 & 클라이언트간의 통신구조와 기타 네트워크의 깊은 부분까지 세세하게 많이 알게되는 계기가 되어서 정말 보람되었다...
//************************************************
Hi Talk Messenger ver 0.1 개발일지
http://copynull.tistory.com
copynull@nate.com
2010. 11. 20
*************************************************//
[2010. 11. 20]
- 메신저 개발에 대한 생각
- 착수 및 디자인 코드 진행방향 결정
[2010. 11. 21]
- 기본 IOCP Network Lib 메신저용 형태로 변환
- 서버 코드 최적화 및 리펙토링
[2010. 11. 22]
- 서버 to 클라이언트간 프로토콜 설계 및 초안 디자인
- 서버 to 클라이언트 기본 프로토콜 함수 작성
[2010. 11. 23]
- 데이터데이스 설계 및 디자인(유저테이블, 친구목록 테이블)
- 데이터베이스 테스트용 계정 추가 3개, 친구목록 2개씩 각각 추가
- ADO Session Pool 클래스 설계 및 테스트
- ADO Session Pool 및 Ado Session 클래스 코드 수정 및 최적화, 리펙토링
[2010. 11. 24]
- 클라이언트 다이얼로그 디자인 (메인 dlg, child 다이얼로그형)
- 클라이언트 로그인 프로토콜 및 로그인 디자인 세부 완료 (패스워드 암호화 MD5)
- 로그인 버그 수정
- ADO Session Pool Vector형으로 작성
[2010. 11. 25]
- 유저리스트 객체 CUserInfo 클래스 작성 및 보완
- 친구리스트 서버에서 받아오기 작성 및 버그 수정
- 접속자 환영메시지 띄우기 완료(***님 접속하였습니다 / 효과음 추가 PlaySound())
- About 다이얼로그 작성
[2010. 11. 26]
- 유저 아이콘 디자인 작성 및 테스트 (BIg Icon, Small List Icon);
- 유저 행동변화에 따른 아이콘 패킷 변경 소스 추가(온라인, 오프라인, 다른용무중, 자리비움)
- 대화명 변경 기능 추가(수정 및 보안, 다이얼로그 생성 후 IDOK로 처리)
- 대화명 변경에 따른 트리 목록 출력 코드 버그 수정 보안
- 메뉴 로그인/로그아웃시 출력되는 메뉴 오버럴(enable/disable)설정
- 내 상태 변경 메뉴 4목록 체크 표시
[2010. 11. 27]
- 쪽지 보내기 기능 추가
- 로그인 형태 변환 (ID@호스트) 이메일 형식으로 전환
- 로그인 정보 아이디, 호스트 레지스트리 저장(아이디 저장기능 추가)
- 툴팁 기능 추가 및 지속적 개선 요망
- 프로그램 중복 실행 방지 기능 추가 (추후 배포시 주석삭제 요망)
[2010. 11. 28]
- 쪽지 보내기 기능 버그 및 수정
- 내 대화명 변경 기능 추가
- 트리목록에서 유저 선택 마우스 오른쪽 팝업기능 추가(대화하기, 쪽지보내기, 친구삭제)
[2010. 11. 29]
- 남몰래 들어가기 기능 추가 (서버에서 패킷 전달 안함)
- 툴팁 메인 보기 변경
- 효과음 변경
- 기존연결 접속중 다른연결시 기존연결 종료후 새로운 연결 할당
- 친구삭제 기능 추가
[2010. 11. 30]
- 친구 추가 기능 추가
- 친구추가 버그 수정 (자기 자신은 추가 불가능)
- 쪽지 보내기 단축기 지정 (ctrl + Enter시 보내기 기능 사용)
- 쪽지 사이즈 950Byte로 수정
[2010. 12. 1]
- 친구 검색 기능 추가
- 비 로그인시 쪽지 전송 (처음 로그온시 저장된 쪽지 불러오기)
- 비 로그인시 친구 추가 요청 (처음 로그온시 저장된 친구추가 불러오기)
[2010. 12. 2 - 5]
- 파일 전송 기능 구현
[2010. 12. 6]
- 대화하기 기능 추가
- 대화하기 초대 기능추가
- 대화하기 도움말 표시 기능 추가
[2010. 12. 7]
- 대화하기 버그 수정
- 기타 클라이언트 버그 수정
- 트레이아이콘 등록
// 미 구현 기능
- 그룹 기능 추가
'Program' 카테고리의 다른 글
EasyCleaner 1.0 - 시스템 최적화 프로그램 (0) | 2012.03.06 |
---|---|
시작페이지 간단 설정 툴 (0) | 2011.01.12 |
Reg Security Setup Ver 0.1 Beta (0) | 2010.10.11 |
Encoder / Decoder ver1.0 - (Base64, URL, HEX, MD5, CRC32) (0) | 2010.09.13 |
Word Manager MFC 버전 (0) | 2010.07.07 |