利用轮询实现更新

Lobby 服务让玩家可以查找和连接其他玩家。它提供了一种轻量级的非实时方式来分享数据以及快速进入最符合玩家需求的场景,而无需专用游戏服务器。玩家还可以使用此服务来互相建立实时连接,比如通过使用 Relay 服务。

大厅中的数据可能会发生变化,偶尔可能需要进行轮询。以下列表详细介绍了可能需要进行轮询的示例场景:

  • 玩家的实时大厅更新发生顺序混乱,而需要重新加载最新的大厅
  • 尚未填充连接信息(如何建立实时连接)
  • 实时连接丢失并需要新的连接信息(例如,确定厅主是否已更改或连接信息是否已更改)
  • 在存储和检索不常更新的玩家数据时

请务必确保不要使用轮询来模拟实时数据传递。一般来说,应该使用实时事件来实现这一目的(请参阅“使用事件”)。Lobby 服务使用速率限制,如果试图滥用 Lobby 的 API,则可能导致被限制。请参阅速率限制

以下代码示例展示了如何获取大厅数据:

C#

try
{
    var lobby = await LobbyService.Instance.GetLobbyAsync("lobbyId");
}
catch (LobbyServiceException e)
{
    Debug.Log(e);
}