[메신저 프로그램 2] #1. 시작

게임 서버 프로그래밍/개발일지

2020. 7. 30. 00:27

IOCP 공부를 어느정도 끝내고 저번에 사둔 책을 다시 볼까 했는데

 

클라-서버에 필요한 내용과 코드로 도배되어 있어서 그냥 접었다.

 

내용은 알찼으나 참고용이지 공부용은 아닌것 같다..

 

처음에는 유니티랑 연동해서 간단한 퀴즈 게임을 만들어 보려고 했는데

 

사실 엄두가 안났다.. 시간이 많다고 생각했는데

 

다른 것들도 하면서 하려니 개학 하고 나서도 못끝낼것 같아서 

 

저번에 만들었던 채팅프로그램을 다른 방식으로 만들어보자 생각했다.

 

저번 통신 모델이 Select에 TCP 소켓으로 만들었다면

 

이번엔 Select TCP로 로그인,채팅 서버 만들고

 

IOCP 이용해서 채팅 대기방(?) 음.. 겟앰프드나 포트리스 카트라이더 보면

 

룸에 들어가기 전에 현재 채널에 접속한 유저랑 만들어진 방 리스트 보는

 

게임 대기실이 있는데 그걸 만들어 보려고 한다.

 

채널도 나누면 좋을 것 같고.. 이번엔 C# 윈폼을 사용해서 클라이언트를 만들생각인데

 

아무래도 친숙하다 보니 이미지 끌어와서 저번 보다는 예쁜 프로그램이 만들어지지 않을까 생각한다.

 

최근에 게임잡에도 물어봤었는데, 같은 프로그램을 개선해서 만들어도 되냐는 질문에

 

서버쪽 고수분(제 생각입니다)이 IOCP+ Homo (이건 사실 정확히 파악이 안된다)로 만들어보길 권장했다.

 

아마도 각 스레드가 서버를 분담해서 처리하는 방식인듯 하다.(언리얼에서 사용하는 서버 방식이라고 한다.)

 

채팅 서버 안에서 즐길수 있는 간단한 게임 같은것도 집어넣을까 생각중이다.

 

너무 과하면 또 프로젝트가 산으로 가니.. 가위바위보 같은걸 집어넣어서

 

승점을 통한 랭킹 서버랑 엮으면 좋을 것 같다.

 

redis를 이용해보고 싶었는데.. 관련 정보도 없고 c++ 연동 자료도 없는 것 같아서 ㅠ

 

이것도 그냥 mysql로 처리할 생각이다.

 

하루정도 코딩을 해봤는데 effective c++ 읽은 것도 있고 해서

 

구조적인 문제보다는 오류를 미연에 방지하는 코드 위주로

 

열심히 짜보고 있다.. 

 

생각보다 별로 한게 없는데, db 연동(저번 프로그램 db랑 다를게 없음), tcp/udp 소켓 생성

 

log,unicode converter, timer 그리고, c#<->c++ 데이터 전송 테스트

(c# 찬양합니다.. c++ 소스코드의 1/6로 클라가 뚝딱 만들어짐..)

 

정도를 만들었다.

 

일단 금요일 날 계절학기 시험이기도 하고.. 토요일은 친구들이랑 여행을 가기로 해서

 

다음 개발은 월요일부터 시작될 것 같은데

 

이것 말고도 동아리 동생이랑 게임 프로젝트 (서버가 안쓰일것 같음..)도 병행 할 생각이라

 

늦어질수도 있다고 생각한다.

 

아무튼! 2학기까지해서 뚝딱 만들고

 

내 인생 마지막 겨울방학 (사실 졸업이라 방학 아님)부터 면접,코테 준비를 시작해야겠다.

 

아 그리고 여유가 된다면 다음엔 유니티 연동으로 생각하고 있었던 퀴즈 게임을 구현해봐야지.