断开连接
“断开连接”是指加入玩家向主机玩家发送 DISCONNECT
消息后,系统断开连接的情况。此时系统仅会在游戏会话中将该玩家与主机玩家断开连接,并不会从 Relay 服务器中删除玩家的分配。
关闭与 Relay 服务器的连接
如果玩家要从 Relay 服务器取消分配(从 Relay 服务器删除自己的分配),则必须向 Relay 服务器发送 CLOSE
消息。玩家必须先关闭自己的连接,才能通过连接流重新绑定到 Relay 服务器。
一般在游戏会话中,每一名玩家都要自行关闭连接,其中主机玩家最后关闭连接。这是因为主机玩家是创建加入代码的玩家,关闭主机玩家的连接会触发 Relay 的以下操作:
- 释放主机玩家的分配及其创建的加入代码。
- 结束主机玩家与 Relay 服务器的连接。
当一名玩家关闭连接时,Relay 服务器会更新所有连接的玩家,以便删除断开连接的玩家,同时释放 Relay 服务器上的连接空位。
如果连接超时,Relay 服务器还会断开与玩家的连接。您可以保持连接活动状态,从而防止超时。
注意:在主机玩家通过 CLOSE
消息断开与 Relay 服务器的连接后,Relay 将无法迁移主机,但您可以通过添加自定义逻辑将剩余玩家安置在大厅中,以便其选择新的主机。请参阅主机迁移。