프로젝트 배경
1. 프로젝트 개요 - 프로젝트명, 개발 기간, 환경, 기술 스택
2. 시스템 아키텍처 - Client → LoginServer → MgrServer → GameServer → Database 구조도
3. 프로젝트 구성 - 실제 디렉토리 구조 기반
- CDXLIB, LoginServer, MgrServer
- 바둑이/고스톱 서버, 클라이언트
4. 핵심 구현 모듈
- 서버 핵심 클래스 (CManager, CUserDescriptor, CDbQ, CChannel)
- 네트워크 프로토콜 구조체
- 클라이언트 그래픽 라이브러리 (CDXLIB)
5. 주요 기능 구현
- DB 연동 및 데이터 처리
- 다중 접속 처리
- 게임 로직
6. 스크린샷 - 첨부한 이미지 2장 포함
7. 기술 스택 요약 - 테이블 형태로 정리
2. 시스템 아키텍처 - Client → LoginServer → MgrServer → GameServer → Database 구조도
3. 프로젝트 구성 - 실제 디렉토리 구조 기반
- CDXLIB, LoginServer, MgrServer
- 바둑이/고스톱 서버, 클라이언트
4. 핵심 구현 모듈
- 서버 핵심 클래스 (CManager, CUserDescriptor, CDbQ, CChannel)
- 네트워크 프로토콜 구조체
- 클라이언트 그래픽 라이브러리 (CDXLIB)
5. 주요 기능 구현
- DB 연동 및 데이터 처리
- 다중 접속 처리
- 게임 로직
6. 스크린샷 - 첨부한 이미지 2장 포함
7. 기술 스택 요약 - 테이블 형태로 정리
핵심 기능
멀티플레이어 게임 서버 구조 분석
실시간 게임 프로토콜 및 상태 동기화 이해
바둑이 게임 로직(족보·베팅·라운드) 분석
비동기 DB 처리 및 동시 접속 구조 파악
바둑이 게임 로직(족보·베팅·라운드) 분석
비동기 DB 처리 및 동시 접속 구조 파악
진행 단계
기획 및 요구사항 정의
2003.11.
기존 C++ 기반 바둑이 게임 서버의 구조와 동작 흐름을 파악하고, 네트워크·게임 로직·DB 연동을 기준으로 기획함.
아키텍쳐 설계
2003.11.
서버 아키텍처(Manager·Channel·Room·User)와 역할 분리를 명확히 정의
클라이언트–서버 간 네트워크 프로토콜 및 명령 처리 흐름 분석 요구
클라이언트–서버 간 네트워크 프로토콜 및 명령 처리 흐름 분석 요구
구현
2003.12.
바둑이 족보, 베팅 옵션, 라운드 진행, 방 구조를 분석하고 게임 상태 변경과 결과 처리 로직을 정리했습니다.
비동기 DB 큐 구조와 ADO 기반 SQL Server 연동 방식을 분석하여, 게임 결과 저장
비동기 DB 큐 구조와 ADO 기반 SQL Server 연동 방식을 분석하여, 게임 결과 저장
테스트 및 완료
2004.01.
다중 접속 환경에서 게임 진행, 상태 동기화, 결과 처리 흐름을 점검하고, 게임 종료 후 DB 저장 및 세션 정리 정상 여부를 확인함.
프로젝트 상세
온라인 카드게임 서버 개발 및 운영 경험
실제 운영된 온라인 카드게임(바둑이) 서버 시스템을 개발 경험이 있습니다.
주요 구현 내용
1. 게임 서버 아키텍처
- LoginServer: 사용자 인증 및 DB 연동 (ADO/SQL Server)
- MgrServer: 서버 간 통신 조율 및 세션 관리
- GameServer: 게임 로직 처리, 방 생성/입장, 점수 관리
2. DB 연동 및 데이터 관리
- `CDbQ` 클래스를 통한 비동기 DB 작업 큐 구현
- 게임 결과 저장, 사용자 정보(UserMoney, WinRate, Class) 실시간 업데이트
- 트랜잭션 기반 데이터 정합성 보장
3. 다중 접속 처리
- `CUserDescriptor`: 사용자별 소켓 및 상태 관리
- `CChannel`: 채널/로비 기반 동시 접속 관리
- Thread 기반 비동기 패킷 처리로 서버 안정성 확보
4. 실제 운영 경험
- 서버 로그 시스템 구축 및 실시간 모니터링
- QuickJoin, CreateGame, RoomIn 등 동시 요청 처리 최적화
- DB Connection 관리 및 간헐적 저장 오류 대응 경험
해결한 주요 이슈
- 게임 종료 시 점수 미저장 문제 → 트랜잭션 롤백 처리 및 재시도 로직 구현
- 동시 접속 시 서버 충돌 → 소켓 버퍼 관리 및 동기화 개선
- DB Connection Timeout → Connection Pool 최적화
사용 기술과 툴
개발 언어
- C# (요청하신 기술 스택)
- C++ (유사 프로젝트 경험)
데이터베이스
- MS-SQL Server (ADO 연동 경험)
- MySQL 연동 가능
네트워크/서버
- TCP/IP 소켓 프로그래밍
- 멀티스레드 서버 아키텍처
- 커스텀 바이너리 프로토콜 설계 및 구현
개발 도구
- Visual Studio
- SQL Server Management Studio
- Git (버전 관리)
실제 운영된 온라인 카드게임(바둑이) 서버 시스템을 개발 경험이 있습니다.
주요 구현 내용
1. 게임 서버 아키텍처
- LoginServer: 사용자 인증 및 DB 연동 (ADO/SQL Server)
- MgrServer: 서버 간 통신 조율 및 세션 관리
- GameServer: 게임 로직 처리, 방 생성/입장, 점수 관리
2. DB 연동 및 데이터 관리
- `CDbQ` 클래스를 통한 비동기 DB 작업 큐 구현
- 게임 결과 저장, 사용자 정보(UserMoney, WinRate, Class) 실시간 업데이트
- 트랜잭션 기반 데이터 정합성 보장
3. 다중 접속 처리
- `CUserDescriptor`: 사용자별 소켓 및 상태 관리
- `CChannel`: 채널/로비 기반 동시 접속 관리
- Thread 기반 비동기 패킷 처리로 서버 안정성 확보
4. 실제 운영 경험
- 서버 로그 시스템 구축 및 실시간 모니터링
- QuickJoin, CreateGame, RoomIn 등 동시 요청 처리 최적화
- DB Connection 관리 및 간헐적 저장 오류 대응 경험
해결한 주요 이슈
- 게임 종료 시 점수 미저장 문제 → 트랜잭션 롤백 처리 및 재시도 로직 구현
- 동시 접속 시 서버 충돌 → 소켓 버퍼 관리 및 동기화 개선
- DB Connection Timeout → Connection Pool 최적화
사용 기술과 툴
개발 언어
- C# (요청하신 기술 스택)
- C++ (유사 프로젝트 경험)
데이터베이스
- MS-SQL Server (ADO 연동 경험)
- MySQL 연동 가능
네트워크/서버
- TCP/IP 소켓 프로그래밍
- 멀티스레드 서버 아키텍처
- 커스텀 바이너리 프로토콜 설계 및 구현
개발 도구
- Visual Studio
- SQL Server Management Studio
- Git (버전 관리)



