개발 시작

Oak_Cassia·2023년 1월 26일
0

Ants 팀의 개발이 시작 되었다.
개발 첫 날에 팀원들의 github 사용법을 알려주고 헷갈리는 부분을 봐주었다. 깃허브 관리자가 준비를 잘 해온 것 같았다.
일정 관리를 위해서 계획을 세웠다.(이전에 한 것)
ToDo 리스트, 간트차트로 팀원의 작업을 파악하고 진척을 확인할 것이다. 또 팀적으로 해야할 부분도 잘 관리해야 할 것이다. (불안한 부분이 있다.)

회고 부분을 개선 해야하는데 팀원에게 피드백 녹화분을 받지 못했다. 다시 부탁해야겠다

고시원도 구했다. 친구집에 빌붙어 살려니 여러모로 불편했다. 2주 정도 지냈는데 힘들었다...

첫 날에는 네트워크 코드를 작성했다. 게임 로직과 분리하고 싶어서 오늘 오전 설계를 조금 하였다.
Boost/Asio를 사용할 것인데 IOCP를 하고 나서인지 생각보다 어렵지 않았다. 옛날 책을 보고 공부해서 최근 버전과 다른 부분이 조금 있는데 충분히 수정할 수 있었다. Boost/Asio에 C++ 11 등 최근 추가된 부분을 섞어서 쓰면 될 것 같다.


비동기로 작업을 걸어놓고 완료되면 미리 지정한 함수가 호출되게 하는 방식인데. overlapped io 와 비슷했다. accept, recv, send를 어떻게 구분하면 좋을까 생각했다.

accept ->
accept 완료 후 다시 accept, OnConnect(세션 별로 필요한 작업), recv ->
recv 완료 후 OnReceive(비즈니스에서 패킷처리),recv ->
패킷처리 후 sendQueue에 보낼 데이터 밀어넣기

이렇게 하고 특정 시간 마다 반복해서 클라이언트에게 데이터를 send 하는 방식으로 가면 어떨까 생각해 보았다.
send 호출도 게임 로직에서 할테고

그렇다면 네트워크 코드에 기능 단위로 분리한다면
RegisterAccept
RegisterSend
RegisterReceive

PostAccept
PostReceive
PostSend(? 이건 필요 없을 것 같기도 하다.)

OnConnect
OnAccept
OnReceive
OnSend
정도만 있으면 될까...?

일단 protocol buffer 사용 방법을 다시 봐야겠다. 가끔 쓰니까 까먹는다.
주말에 교수님이랑 화상회의도 있는데 바쁜 것을 어필해야겠다(?)

profile
rust로 뭐할까

0개의 댓글