0
메신저 배우기 쉬운 html5 게임 만들기. 가능한 한 전선을 통해 최소한의 데이터로 전송하여 동기화 상태를 유지하려고합니다. 클라이언트와 서버 사이에 게임 상태를 전송할 때 마지막 업데이트 이후 게임 상태에서 변경된 내용 만 대역폭/대기 시간을 절약하기 위해 보냅니다.클라이언트/서버 간 데이터 동기화
내가 할 수있는 유일한 방법은 원격 소스에서받은 각 업데이트에 "스냅 샷"또는 게임 상태 개체 사본을 작성한 다음 게임 상태를 로컬에서 조작하고 전송해야하는 것입니다 각 값을 템 피리 게임 상태와 비교하는 게임 상태 개체를 통해 원격 소스 루프에 출력하고 차이 만 보내십시오.
이 작업을 수행하는 가장 효율적인 방법은 무엇입니까?
/****************************/
/**** Current game state ****/
gameState = {
playerOneID: 'XXX-XXX-XXX-XXX',
playerTwoID: 'YYY-YYY-YYY-YYY',
elapsedTime: 00007,
myVariable: 'abcd1234'
}
/*******************************************/
/**** saves game state from last update recieved ****/
tmpGameState = {
playerOneID: 'XXX-XXX-XXX-XXX',
playerTwoID: 'YYY-YYY-YYY-YYY',
elapsedTime: 00003,
myVariable: 'abc123'
}
그래서 가장 작은 패킷이 1024 바이트 (1 킬로바이트)라고 말하는 것입니까? – AndrewMcLagan
연결이 websocket 인 경우에도? 당신은 맞을지도 모르나 나는 데이터가 "재발행되는 순간에"보내지기 때문에 믿기가 어렵다는 것을 안다. 데이터가 1KB 미만이면 나머지는 프로토콜 채우기로 구성됩니까? – AndrewMcLagan