인터넷 프로그래밍 8조 팀프로젝트
최창환(팀장) - 개발 , 이병준 - 발표, 이동건 - 테스트
멀티스레드를 이용한 다중 클라이언트 채팅 프로그램
- 서버와 클라이언트간의 1대N 통신을 가능하게 한다.
- 클라이언트간의 통신이 가능하게 한다.(필수 X)
- 현재 연결되어 있는 클라이언트의 리스트를 UI에 표시
- 서버 접속, 해제 버튼, 닉네임 설정 옵션을 추가
- 클라이언트를 서버 관리자가 지정하여 강제로 접속 해제 할 수 있는 기능 추가
- 클라이언트간의 채팅방 접속을 구현하고, 파일전송 기능 추가
- 서버 내보내기 기능 추가
- 버튼 이미지 추가
- 상단(메뉴바) 추가, 클릭 시 클라이언트 정보 출력
- 파일 전송기능 미구현, 테스트중
-
ThreadMain(void* arg)
socket() -> bind() -> listen() -> accept()의 기능을 수행하고 각 클라이언트와 통신이 가능하도록 스레드를 생성함. -
RecvMsg(void* arg), SendMsg(void* arg)
스레드 함수를 설정하여 메시지를 받음과 동시에 전송이 가능하도록 구현하였음. -
Time_Hour(), Time_Min()
C++ 라이브러리에 있는 시간 함수 구조체를 사용하여 클라이언트가 접속하는 시간을 표현하였음. -
WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
윈속 초기화, 대화상자(다이얼로그)생성, 아이콘 추가 등의 기능을 수행함. -
DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
사용자가 이벤트를 발생시키면 대화상자 안에 있는 함수들이 작동하며 접속,해제,보내기 등의 기능을 수행함. -
DisplayText(char* fmt, ...);
리스트 박스와 에디트 박스에 메시지 내용을 출력하는 기능을 수행함.
- TCP/IP 윈도우 소켓 프로그래밍 (한빛 미디어) 및 수업 내용
- 윤성우의 열혈 TCP/IP 소켓 프로그래밍
- 핵심 API로 배우는 윈도우 프로그래밍
- https://blog.naver.com/ree31206/46430031
- https://blog.naver.com/ree31206/46430004
- https://blog.naver.com/makelove7942/220559541931