개인 공부/네트워크 4

Unreal Engine 의 RPC (2)

저번 시간에는 Replication 에 대해 알아보았다. Replication 은 서버가 클라이언트에게 변경된 게임의 데이터들을 실시간으로 전달해 주는 역할이었다. 즉, 특정 액터의 데이터나 플레이어들의 데이터가 바뀌면 서버가 클라이언트에게 갱신된 값들을 복제해 주는 역할이다. 그러나 여기서 의문이 드는데... 그럼 클라이언트는 서버에 어떻게 데이터를 보냄? 당연하게도 변경된 데이터를 서버도 알아야하기에 클라이언트가 서버에게 데이터를 보내줄 방법이 필요하다. Replication 은 저번 시간에 배웠듯이 서버에서 클라이언트로의 일방 통행임으로 Replication 을 이용하여 클라이언트가 서버에게 데이터를 전송할 수 없다. 그렇기에 우리는 RPC - RemoTe Procedure Call 을 사용해야한다..

Unreal Engine 의 Replication (1)

요즘 UnrealEngine 에서의 네트워크 시스템에 대해 공부를 계속 하고있지만 아직 이해하지 못하는 부분이 많다. 그렇기에 Unreal Engine 에서 지원하는 Gameplay FrameWork 를 살펴보며 어떤 방식으로 서버와 클라이언트가 소통을 하는지, 그리고 각 Class 가 어떤 인스턴스 에 존재하는지 살펴보겠다. Gameplay FrameWork 가 무엇인가? FrameWork 가 무엇인지부터 알아보자. FrameWork. 란 구조 즉, 소프트웨어 구조를 의미한다. 더 정확하게 알아보자면 소프트웨어 개발에서 특정 목적을 달성하기 위한 구조 또는 뼈대라고 할 수 있다. 그렇다면 Gameplay FrameWork 또한 무엇인지 알 수 있을 것이다. 이는 게임 개발에서 특정 장르나 스타일의 게임..

소켓 통신

예전에 했던 프로젝트로 소켓 통신을 이용한 C언어 게임 개발이 있었다. 오늘은 소켓 통신에 대해 알아보고 소켓 통신을 이용해 만들었던 작은 게임을 알아보도록 하겠다.  소켓 통신이란?소켓 통신은 네트워크를 통해 두 개 이상의 컴퓨터가 데이터를 주고받는 방식이다. 마치 전화 통화처럼, 소켓 통신은 연결을 설정하고 데이터를 주고받는 과정을 거친다.소켓네트워크 상에서 통신을 하기 위한 양쪽 끝단(EndPoint) 이다.소켓은 프로세스 간 통신을 위해 필요하며, 클라이언트와 서버가 데이터를 주고받는 데 사용된다.소켓은 운영체제에 의해 관리되며, IP 주소와 포트 번호를 통해 식별된다.소켓 통신의 작동 방식1. 소켓 생성:통신을 원하는 프로그램은 운영체제에 소켓을 생성하도록 요청한다.이때, 사용할 프로토콜(TCP..

네트워크 기본 개념

이번 프로젝트는 멀티 플레이 게임 제작이 될 듯 하다. 제작에 앞서 일단 네트워크의 개념을 잡고 시작하면 좋을 것 같아 정말 간단하게만 정리하고 넘어가겠다. 네트워크란? 어원은 그물을 뜻하는 net 과 work 를 합친 합성어이다. 그물을 짜는 행위를 가리키는 명사에서 임의의 연결망을 지칭하는 용어로 그 범위가 확장된 단어이다. 우리는 그중 통신망에 대해서 다룰 예정이다.  통신망에서 네트워크란 전자신호를 통해 통신하는 모든 기기가 서로 통신하기 위해 만든 하나의 망을 의미한다. 어원은 위와같이 거미줄같이 꼬인 화선이란 의미이며 그물과 같다는 의미로 네트워크라 불리고있다. 네트워크를 알아야 하는 이유? 옛날에는 콘솔과 같은 게임기로 통신이 필요없이 한 게임기로 두명이서 플레이하거나 아니면 혼자 플레이하는..