我能想到的唯一方法是在从远程源接收到的每个更新上创建游戏状态对象的“快照”或副本,然后在本地操作游戏状态并需要发送出去到远程源循环通过游戏状态对象将每个值与临时游戏状态进行比较并仅发送差异......
这是最有效的方法吗?
/****************************/
/**** 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'
}
答案 0 :(得分:0)
大多数网络至少将数据发送到最多1024字节的数据包,至少在计划离开时。