实时服务器客户端 API (C#) 参考:操作 - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

实时服务器客户端 API (C#) 参考:操作

使用此 C# 实时客户端 API 参考可帮助您准备多人游戏,以便与 Amazon GameLift 实例集上部署的实时服务器配合使用。有关集成过程的详细信息,请参阅 准备实时服务器

Client()

初始化新客户端以与实时服务器通信,并确定要使用的连接类型。

语法

public Client(ClientConfiguration configuration)

参数

clientConfiguration

指定客户端/服务器连接类型的配置详细信息。您可以选择不使用此参数而调用 Client();但这种方法默认情况下会导致不安全的连接。

类型:ClientConfiguration

必需:否

返回值

返回用于与实时服务器通信的实时客户端的实例。

Connect()

请求与托管游戏会话的服务器进程的连接。

语法

public ConnectionStatus Connect(string endpoint, int remoteTcpPort, int listenPort, ConnectionToken token)

参数

端点

要连接到的游戏会话的 DNS 名称和 IP 地址。端点在 GameSession 对象中指定,它作为对 Amazon 软件开发工具包 Amazon GameLift API 操作 StartGameSessionPlacementCreateGameSessionDescribeGameSessions 请求客户端调用的响应返回。

类型:字符串

必需:是

remoteTcpPort

分配给游戏会话的 TCP 连接的端口号。此信息在 GameSession 对象中指定,作为对 StartGameSessionPlacementCreateGameSessionDescribeGameSession 请求的响应返回。

类型:整数

有效值:1900 到 2000。

必需:是

listenPort

游戏客户端侦听使用 UDP 通道发送的消息的端口号。

类型:整数

有效值:33400 到 33500。

必需:是

token

标识向服务器进程请求游戏客户端的可选信息。

类型:ConnectionToken

必需:是

返回值

返回指示客户端连接状态的 ConnectionStatus 枚举值。

Disconnect()

连接到游戏会话后,断开游戏客户端与游戏会话的连接。

语法

public void Disconnect()

参数

此操作没有参数。

返回值

此方法不会返回任何内容。

NewMessage()

使用指定的操作代码创建新的消息对象。返回消息对象后,通过指定目标、更新传递方法和根据需要添加数据负载来完成消息内容。完成后,使用 SendMessage() 发送消息。

语法

public RTMessage NewMessage(int opCode)

参数

opCode

标识游戏事件或操作(例如,玩家移动或服务器通知)的开发人员定义操作代码。

类型:整数

必需:是

返回值

返回包含指定操作代码和默认传递方法的 RTMessage 对象。传递意图参数默认设置为 FAST

SendMessage()

使用指定的传递方法向玩家或组发送消息。

语法

public void SendMessage(RTMessage message)

参数

message

指定目标收件人、传递方法和消息内容的消息对象。

类型:RTMessage

必需:是

返回值

此方法不会返回任何内容。

JoinGroup()

将玩家添加到指定组的成员资格。组可以包含连接到游戏的任何玩家。加入后,玩家会收到发送给该组的所有未来消息,并可以向整个组发送消息。

语法

public void JoinGroup(int targetGroup)

参数

targetGroup

标识要添加玩家的组的唯一 ID。组 ID 由开发人员定义。

类型:整数

必需:是

返回值

此方法不会返回任何内容。由于此请求是使用可靠 (TCP) 传递方法发送的,因此失败的请求会触发回调OnError()

LeaveGroup()

从指定组的成员资格中删除玩家。不再在该组中后,玩家不会收到发送给该组的消息,并且无法向整个组发送消息。

语法

public void LeaveGroup(int targetGroup)

参数

targetGroup

标识要删除玩家的组的唯一 ID。组 ID 由开发人员定义。

类型:整数

必需:是

返回值

此方法不会返回任何内容。由于此请求是使用可靠 (TCP) 传递方法发送的,因此失败的请求会触发回调OnError()

RequestGroupMembership()

请求将指定组中的玩家列表发送给游戏客户端。任何玩家均可请求此信息,无论其是否为该组的成员。作为对此请求的响应,成员资格列表通过OnGroupMembershipUpdated()回调发送给客户端。

语法

public void RequestGroupMembership(int targetGroup)

参数

targetGroup

标识要获取成员资格信息的组的唯一 ID。组 ID 由开发人员定义。

类型:整数

必需:是

返回值

此方法不会返回任何内容。