[네트워크 프로그래밍] 클라이언트 대 클라이언트 가위바위보게임
- 최초 등록일
- 2009.01.30
- 최종 저작일
- 2009.01
- 13페이지/ 압축파일
- 가격 4,900원
소개글
소켓 방식을 이용한 클라이언트간 가위바위보 게임입니다.
소스코드와 발표자료를 담아놓았습니다.
자료를 받기 전 주의 하실 점으로
#####본 프로그램은 리눅스 기반 프로그래밍입니다.######
유의하시기 바랍니다.
윈도우즈 기반의 프로그램이 필요하신 분들도
소스 코드의 변경이 그리 어렵지 않으므로
유용하리라 생각됩니다.
[파일 구성]
서버측 : ipcgame_serv.c
클라이언트측 : ipcgame_clnt.c
발표자료: 설계 프로젝트.pptx
목차
1. 클라이언트 간의 게임
2. 고유 번호 부여
3. Signal 함수를 이용한 핸들링
4. SIGALRM 시그널 핸들링
5. 선택 값 출력
7. 무승부일 경우 다시 시작
본문내용
서버-클라이언트간 가위바위보 게임은 이미 많은 예제가 인터넷에 유포 되고있습니다.
본 프로그램은 클라이언트 간의 가위바위보 게임으로 서버는 오직 두 클라이언트를
연결시켜 주는 역할만 합니다. 즉, 서버는 두 클라이언트의 선택 결과를 받아와 승패를 결정해 두 클라이언트에게 알려주는 역할만 합니다.
추가적으로 구현한 옵션은 다음과 같습니다.
1. 서버에서는 각 클라이언트가 접속하면 고유 번호를 부여하여 클라이언트에 전송한다.
그러면 서버에서는 “[클라이언트 접속] 번호 부여: 1” 형식으로 출력되고, 클라이언트에서는 서버에 연결했을 때 “[접속 성공] 클라이언트 번호 부여: 1” 형식으로 출력이 된 후 게임이 시작된다. 번호는 1로 시작하고, 각 클라이언트가 접속할 때마다 증가하게 된다.
2. Ctrl+C를 누르면 “포기하지 않는 도전 정신이 아름답습니다”라는 문구가 출력되고 프로그램이 종료되지 않도록 하였다.
3. 5초간 결과를 선택하지 않으면 “결단이 필요할 때입니다” 문구가 출력되도록 하였다.
4. 5초 이내로 결과를 선택했다면 “결단에 n초 걸리셨습니다” 문구가 출력되도록 하였다.
5. 각 클라이언트가 가위/바위/보를 선택하면 서버에 이를 출력되도록 하였다.
(예: [선택] 클라이언트1이 보를 선택하였습니다.)
6. 두 클라이언트의 게임 결과를 서버와 클라이언트에 출력되도록 하였다.
(예: [결과] 클라이언트2가 승리하였습니다.)
7. 게임이 무승부일 경우 다시 게임하도록 하였다.
참고 자료
없음
압축파일 내 파일목록
ipcgame_clnt.c
ipcgame_serv.c
설계 프로젝트.pptx