2024/11 14

데이터 중심 동기화 (Data-oriented Synchronization)에 대하여 (Node.js 중심)

데이터 중심 동기화(Data-oriented Synchronization)는 네트워크 환경에서 데이터의 일관성을 유지하기 위해, 클라이언트와 서버 간의 데이터 동기화 방식을 최적화하는 기법입니다. 특히 실시간 멀티 플레이 게임이나 분산 시스템에서 데이터의 상태를 효율적으로 동기화하는 데 사용됩니다. 이 방법은 주로 상태의 변화를 기준으로 동기화하거나, 데이터의 중요한 부분만 전송하여 네트워크 자원의 효율성을 높입니다. 개념 설명상태 기반(State-based): 클라이언트는 주기적으로 전체 상태를 전송하거나 동기화하고, 서버는 이를 바탕으로 상태를 업데이트합니다. 주기적인 스냅샷이 필요하므로, 자주 변경되는 상태에는 다소 비효율적일 수 있습니다.변화 기반(Changed-based): 상태가 변화할 때만 ..

TIL 2024.11.09

상태 동기화에 대하여

상태 동기화(State Synchronization)는 분산 시스템이나 네트워크 환경에서 여러 클라이언트와 서버간에 상태 정보를 일관되게 유지하기 위한 기술입니다. 게임 개발, 실시간 협업 애플리케이션, 분산 시스템 등에서 많이 사용됩니다. 상태 동기화는 주로 세 가지 방식으로 나뉩니다.1. 데이터 중심 동기화 (Data-oriented Synchronization) 설명: 데이터 중심 동기화는 서버에서 클라이언트로 데이터를 전송할 때 전체 상태를 주기적으로 업데이트하는 방식입니다.특징:모든 상태 정보가 전송되기 때문에 클라이언트는 항상 최신 상태를 유지합니다.주기적으로 전체 상태를 전송하기 때문에 구현이 비교적 간단하지만, 네트워크 대역폭을 많이 소모할 수 있습니다.예시: 실시간 전략 게임에서 주기적으..

TIL 2024.11.07

스파르타 코딩 클럽 모의 면접 깔끔한 답변 준비

1. 전송 계층 프로토콜에 대해 설명해주세요.전송 계층 프로토콜에 대해서 말씀 드리겠습니다.사실 아주 짧게 전송 계층 프로토콜로는 TCP와 UDP가 있습니다. 하면 질문 폭탄의 불안으로OSI 7 계층중 4계층으로 애플리케이션이 네트워크를 통해 데이터를 안전하고 효율적으로 송수신할 수 있도록 도와주는 역할을 하는 계층의 프로토콜로 TCP와 UDP가 있습니다. TCP는 연결 지향적 통신으로 3-way handshake 연결 설정을 통해 서버와 클라간의 데이터 송수신에 대한 신뢰성을 보장해 줍니다.TCP의 예시로는 데이터의 신뢰성과 정확성이 중요한 금융 애플리 케이션이나 온라인 쇼핑몰에서 TCP가 사용됩니다. UDP는 비연결 지향적 통신으로 데이터의 도착 여부나 순서를 보장하지 않고 손실된 데이터의 재전송또한..

TIL 2024.11.01

소켓 오류 난 너가 밉다!!!

1. 사건의 발단TCP 연결을 통해 서버와 지속적인 연결이 필요한 Unity 애플리케이션을 강제 종료하면 저 메시지가 뜬다.(사실 뜨는게 당연하다 하지만 소켓 오류라는 내용이 마음에 들지가 않아서 오류가 아닌 정상적인 종료로 만들고 싶었습니다. 2. 해결방법 -1아무튼 유니티 애플리케이션이 종료되거나 객체가 파괴될 때 네트워크 연결을 안전하게 종료하기 위한 코드를 클라에다가 넣으면 소켓 오류라는 보기 안좋은 메시지가 서버 콘솔쪽에 뜨지 않게 되지 않을까?! 열심히 검색을 해보니 Application.wantsToQuit 와 OnWantsToQuit를 찾게 되었다.내용을 보니 흠... NetworkManager에 추가하면 되겠구만! Application.wantsToQuit 이벤트는 Unity 애플리케이션..

TIL 2024.11.01