소켓 통신 3

[메타버스 게임] 캐쥬얼 배틀로얄 프로젝트 계층형 아키텍쳐 구현

개요빌드 환경을 구현하였으니 본격적인 서버 구현에 앞서 구현하고자 하는 아키텍쳐를 구상해봤다.내가 개발해야할 서버에선 클라이언트 세션을 관리하고 클라이언트 요청에 따라 인증, 매칭등의 서비스 로직을 구현해야 한다. 이를 데이터베이스와 통신하여 트랜잭션 처리를 통해 검증 및 상태 업데이트를 진행해 주어야 한다. 따라서 controller를 통해 클라이언트 요청을 구분하여 각 기능에 맞는 API를 호출할 수 있도록 서비스를 핸들해 주기로 했다. 예를 들어 인증 관련은 auth, 매칭 관련은 room, 게임 생명 주기 관리는 game의 컨트롤러 타입을 지정하고, 컨트롤러 핸들러를 통해 각 API가 호출될 수 있도록 나누어줬다. 처음엔 패킷을 주고 받을 때 최대한 적은 리소스를 사용하고자했지만 게임 내 이벤트에..

[메타버스 게임] 캐쥬얼 배틀로얄 프로젝트 기획

개요핀테크와 메타버스 게임 프로젝트 중에서 고민을 하다가 결국 3D 메타버스를 통해 배틀로얄 게임을 구현하는 프로젝트를 시작하였다. 프로젝트 인원은 총 6명으로 클라이언트 3명, 백엔드 3명으로 구성된 팀이다. 멀티 플레이 환경의 게임 프로젝트를 진행하게 되어 기분이 좋다.여담으로 서울에서의 약 60팀 중 우리 팀이 유일하게 메타버스 게임을 선택하였으며, 전국적으로 우리팀을 포함하여 2팀만 메타버스 게임 프로젝트를 선택하였다.  주제선정어떤 게임을 만들지에 대해 약 2주간 명세기간을 가졌다.해당 기간동안 수없이 논의하며 이미 존재하는 레거시 게임을 디벨롭 하는 방향을 잡게 되었다.서로 재밌게 플레이했던 게임들을 브레인스토밍하여 리스트업 하였고 영상 자료등을 참고하여 그 중에서도 몇가지 게임을 추려내었다...

리눅스 소켓 프로그래밍 Linux socket programming

개요서버와 클라이언트는 동작이 다르다.서버 : 클라이언트가 접속할 수 있도록 준비(Port, IP), 그리고 클라이언트의 연결을 기다린다.클라이언트 : 서버의 IP와 Port를 이용해 접속하며, 연결이 되었을 경우 동작을 한다.  서버클라이언트IP서버 소켓이 동작하는 컴퓨터의 IP 주소통신을 원하는 원격지 PC의 IP 주소Port소켓이 “위치 할” 포트 번호소켓이 “위치한” 포트 번호  TCP 기반 서버 소켓 동작 순서는 다음과 같다.socket() 소켓 생성bind() 소켓에 주소 할당listen() 클라이언트 연결 요청 대기accept() 클라이언트 연결 승인read() / write() 통신close() 소켓 닫기 TCP 기반 클라이언트 소켓 동작 순서는 다음과 같다.socket() 소켓 생성con..

728x90