文档

支持

Relay

Relay

启用 DTLS 加密

Configure your Relay client to use Datagram Transport Layer Security for encrypted connections.
阅读时间1 分钟最后更新于 1 个月前

Relay 支持对 Relay 服务器传入/传出的所有 UDP 通信进行 DTLS 加密。当以主机玩家身份创建分配时,将 Relay 服务器
connectionType
设置为
dtls
即可启用 DTLS 加密。
以下代码片段中包含函数
AllocateRelayServerAndGetJoinCode
,该函数展示了如何使用 Relay SDK 创建分配、请求加入代码以及将连接类型配置为 DTLS。
public static async Task<(string ipv4address, ushort port, byte[] allocationIdBytes, byte[] connectionData, byte[] key, string joinCode)> AllocateRelayServerAndGetJoinCode(int maxConnections, string region = null){ Allocation allocation; string createJoinCode; try { allocation = await RelayService.Instance.CreateAllocationAsync(maxConnections, region); } catch (Exception e) { Debug.LogError($"Relay create allocation request failed {e.Message}"); throw; } Debug.Log($"server connection data: {allocation.ConnectionData[0]} {allocation.ConnectionData[1]}"); Debug.Log($"server allocation ID: {allocation.AllocationId}"); try { createJoinCode = await RelayService.Instance.GetJoinCodeAsync(allocation.AllocationId); } catch { Debug.LogError("Relay create join code request failed"); throw; } var dtlsEndpoint = allocation.ServerEndpoints.First(e => e.ConnectionType == "dtls"); return (dtlsEndpoint.Host, (ushort)dtlsEndpoint.Port, allocation.AllocationIdBytes, allocation.ConnectionData, allocation.Key, createJoinCode);}