검색어 입력폼

[C/C++] 스레드를 이용한 다자간 채팅 프로그램

저작시기 2015.12 |등록일 2015.12.24 | 최종수정일 2016.02.12 파일확장자압축파일 (zip) | 가격 3,000원

소개글

[C/C++] 스레드를 이용한 다자간 채팅 프로그램

visual studio 2008, 20012 기반 콘솔로 만들어진 다자간 채팅 프로그램 소스코드 입니다.
스레드를 이용하여 하나의 대화방에 N명이 접속하여 채팅할 수 있도록 구현하였습니다.

스레드를 이용한 다수의 클라이언트 처리
단방향 리스트를 이용한 클라이언트 관리
대화명을 입력하여 접속 및 종료 시 상태 출력

간단한 콘솔로 구현되었기때문에 다른 버전에도 쉽게 이식 가능합니다.

프로그램 실행 시 대화방 만들기 or 대화방 들어가기를 통해 서버 or 클라이언트를 선택할 수 있습니다.

대화방 만들기 선택 시 대화명을 입력하면 서버 thread가 생성되어 클라이언트를 대기합니다.
클라이언트 접속 시 리스트에 클라이언트 정보가 추가되고 클라이언트와 통신할 thread가 생성됩니다.
클라이언트는 성능에 문제가 되지 않는한 계속 접속할 수 있습니다.
대화 입력 시 서버는 모든 클라이언트에 data를 전송하여 콘솔창에 출력하게 됩니다.
클라이언트에서 대화 입력 시 서버에 전달되고 서버는 대화를 입력한 클라이언틀르 제외한 모든 클라이언트에 data를 전송하여 콘솔창에 출력하게 됩니다.
클라이언트가 대화방을 나가면 서버 및 모든 클라이언트에 해당 클라이언트가 나갔다는 문구를 출력하고 리스트에서 클라이언트 정보가 삭제됩니다.
서버가 대화방을 나가면 클라이언트에서 대화 입력 시 대화방이 종료되었다는 문구를 출력하고 리스트에서 모든 클라이언트 정보를 삭제합니다.

대화방 들어가기 선택 시 대화명을 입력하고 접속 할 IP를 입력합니다.
서버와 접속을 성공하면 서버와 통신할 thread가 생성됩니다.

/q 문자를 입력하면 서버의 경우 대화방이 종료되고 클라이언트의 경우 대화방을 나가게 됩니다.


정상적으로 접속이 안 될 경우 방화벽을 확인해주시기 바랍니다.

컴파일 실행환경

Microsoft visual c++2008, Microsoft visual c++2012

압축파일 내 파일목록

ConsolChatting/ConsolChatting.cpp
ConsolChatting/ConsolChatting.vcxproj
ConsolChatting/ConsolChatting.vcxproj.filters
ConsolChatting/ReadMe.txt
ConsolChatting/stdafx.cpp
ConsolChatting/stdafx.h
ConsolChatting/targetver.h
ConsolChatting.sln
ConsolChatting2008/ConsolChatting2008.cpp
ConsolChatting2008/ConsolChatting2008.vcproj
ConsolChatting2008/ReadMe.txt
ConsolChatting2008/stdafx.cpp
ConsolChatting2008/stdafx.h
ConsolChatting2008/targetver.h
ConsolChatting2008.sln
프로그램 사용법.txt

참고 자료

없음
다운로드 맨위로