홈
태그
미디어로그
위치로그
방명록
분류 전체보기
(112)
0x01 Notice
(11)
diary
(8)
0x02 Tips
(7)
iOS
(5)
Facebook
(2)
Twitter
(0)
0x03 Thinks
(4)
0x04 Security
(14)
news
(10)
web
(0)
mobile
(0)
system
(1)
forensic
(0)
vulnerabilities
(3)
0x05 Programming
(76)
C / C++
(12)
Java
(5)
Object -C
(3)
API / MFC
(11)
Unix/Linux
(6)
Socket Programing
(6)
Kelnel Programing
(6)
iPhone Programing
(19)
Android Programing
(5)
Web Programming
(2)
ABOUT ME
-
트위터
인스타그램
Today
-
Yesterday
-
Total
-
::j0ker's Lab::
::j0ker's Lab::
메뉴
검색
컨텐츠 검색
블로그 내 검색
[Socket Programming] 멀티쓰레드를 이용한 가위바위보 게임
0x05 Programming/Socket Programing
2010. 3. 20. 10:56
멀티쓰레드를 이용한 가위바위보 게임입니다.
클라이언트 의 소스는 다음과 같습니다.
#include "MyClient.h" void RunGame() { int p; char msg[80]; while(1) { printf("[+] 0~2중 하나를 선택하세요!(exit -> -1): "); //유저가 가위바위보 선택 scanf("%d", &p); MyWrite((char*)&p, sizeof(p)); //서버로 보낸다 if(-1 == p) //게임종료 { printf("[+] Exit Game!!\n"); break; } MyRead(msg, sizeof(msg)); //이겼는 지 체크 printf("[+] Server: %s\n", msg); } } int main() { if(0 != MyIniClient(2010, "127.0.0.1")) //기본설정 { printf("[+] Connect Error!!\n"); } RunGame(); //가위바위보 게임 호출 MyCloseClient(); //client 종료 return 0; }
서버의 소스는 다음과 같습니다.
#include "stdafx.h" #include
#include
#include "MyServer.h" #define MY_GA 0 #define MY_BA 1 #define MY_BO 2 #define MY_END 3 //가위바위보 게임 void RunGame(SOCKET cid) { int p; int com; char msg[80]; while(1) { com = rand()%3; //컴퓨터가 랜덤으로 가위바위보 선정 MyRead(cid, (char*)&p, sizeof(p)); //클라이언트로부터 가위바위보 전달받음 if(MY_END == p) //유저가 접속을 끊으면 해당 클라이언트 소켓 소멸 { printf("[+] %d 유저가 접속을 종료했습니다", cid); break; } //게임 체크 if((MY_GA == p && MY_BO == com) || (MY_BA == p && MY_GA == com) || (MY_BO == p && MY_BA == com)) { sprintf(msg, "[+] You Win!!! p= %d, com= %d", p, com); } else { sprintf(msg, "[+] You Lose!!! p= %d, com= %d", p, com); } MyWrite(cid, msg, sizeof(msg)); //결과를 보냄 printf("%s\n", msg); } } int _tmain(int argc, _TCHAR* argv[]) { srand(time(NULL)); if(0 != MyIniServer(2010)) //서버 초기화 { printf("[+] Server Init Error !\n"); } MyCloseServer(); //서버 종료 return 0; }
공유하기
게시글 관리
::j0ker's Lab::
저작자표시
관련글
관련글 더보기
[Socket Programming] 멀티쓰레드를 이용한 네트워크 Lotto 서버/클라이언트
[Socket Programming] Simple Socket library
[Socket Programming] Simple Connect Web Client
[소켓프로그래밍] 클라이언트 예제
티스토리툴바