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

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

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

此 C# Realtime Client API 参考资料可以帮助您准备多人游戏以用于部署在 Amazon GameLift 舰队上的实时服务器。有关集成过程的详细信息,请参阅 准备您的实时服务器

Client()

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

语法

public Client(ClientConfiguration configuration)

参数

clientConfiguration

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

类型:ClientConfiguration

必需:否

返回值

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

Connect()

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

语法

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

参数

endpoint

要连接到的游戏会话的 DNS 名称和 IP 地址。终端节点在对象中指定,该GameSession对象是为了响应客户端调用 AmazonSDK Amazon GameLift API 操作StartGameSessionPlacement或而返回的DescribeGameSessionsCreateGameSession

类型:字符串

必需:是

remoteTcpPort

分配给游戏会话的 TCP 连接的端口号。此信息在对象中指定,该GameSession对象是为了响应StartGameSessionPlacementCreateGameSession、或DescribeGameSession请求而返回的。

类型:整数

有效值: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 由开发人员定义。

类型:整数

必需:是

返回值

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