C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 자료실
C++Builder Programming Resources
[178] 온라인 7포커 서버/클라이언트 소스
정재필 [] 13656 읽음    2002-09-04 17:58
회사에서 C++Builder의 성능을 테스트 하기 위해 틈틈히 만들었던
7포커 서버/클라이언트의 소스입니다.
서버는 제가 만들었고, 클라이언트는 같이 일하는 형이 만들었습니다.

완전히 완성된 것은 아니구요... 일부 기능이 구현되지 않았습니다.
(게임 하는 데는 지장 없습니다.)

간혹 서버가 죽는 경우가 발생하는데...
원인을 모르겠습니다. 분명 제가 어설프게 코딩해서 그런 것 같은데...
(주로 GameThread 내에서 오류가 발생하고, 이 영향으로 서버가 죽습니다. --;
CriticalSection 때문인 것 같은데... try catch로 예외처리를 해주는데도
제대로 안 되는 것 같습니다. 좀 알려주세요 ㅠ.ㅠ)

쩝... 항상 Visual C++에서 WinSock으로 노가다했었는데...
Indy로 하려니... 힘들군요... ^^
Indy의 Execute 이벤트를 제대로 처리했는지...
그리고 GameThread에서 예외처리를 제대로 했는지...
고수님들의 조언을 받으려고 이렇게 올립니다.

그리고 초보 분들께는 어느정도 유용한 소스가 될 것이라 믿습니다. ^^
(Indy를 이용해서 서버를 만드는게 처음이라... Indy 부분은 별로 도움은 안 될 듯 하고...
Protocol.h가 상당히 도움이 될 것 같습니다. 가변 패킷을 주고받는... ^^)

서버의 제작 환경은......
Windows 2000, C++Builder 6 (Trial), MySQL 입니다.
MySQL의 경우 libmySQL.dll을 통해 직접 접속합니다. (서버 폴더의 MySQL Library 폴더에...
관련 라이브러리가 들어있습니다.)

소스 보시기 전에 테스트 해보고 싶은 분들은...
포함된 클라이언트를 그냥 실행하시면 됩니다. (테스트 서버를 돌리고 있습니다. ㅡㅡ;)

사용할 수 있는 테스트 아이디는... zcat1 부터 zcat20 까지이며, 비밀번호는 1234입니다.
(게임을 시작할 수 있는 최소 인원은 3명이며, 한 컴퓨터에서 3개 실행해도 됩니다. --;)

PS. 보시고 조언좀 해주세요... 이거 잘 되면... 회사에서 빌더를 쓸 가능성이 높아집니다. ㅠ.ㅠ

PS. 서버 성능을 고려한다면... 모든 프로토콜을 시작할 때 new로 생성해두고 써야하나...
   지금은 그냥 필요할 때마다 new, delete를 하게 했습니다. --;

PS. 그리고, 테스트용으로 만든거라, 제대로된 설계를 하지 않았습니다. --; 소스가 지저분하니
   이해해주시길... ^^
김용한 [md02]   2004-03-19 11:58 X
공부하는데 많은도움이되겠습니다.. 소스공개해주셔서 감사합니다..

+ -

관련 글 리스트
178 온라인 7포커 서버/클라이언트 소스 정재필 13656 2002/09/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.