本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
实时服务器客户端 API (C#) 参考资料:操作
此 C# Realtime Client API 参考资料可以帮助您准备多人游戏以用于部署在 Amazon GameLift 舰队上的实时服务器。有关集成过程的详细信息,请参阅 准备您的实时服务器。
Client()
初始化新客户端以与 Realtime 服务器通信,并确定要使用的连接类型。
语法
public Client(ClientConfiguration configuration)
参数
- clientConfiguration
-
指定客户端/服务器连接类型的配置详细信息。您可以选择不使用此参数而调用 Client();但这种方法默认情况下会导致不安全的连接。
必需:否
返回值
返回用于与 Realtime 服务器通信的 Realtime 客户端的实例。
Connect()
请求与托管游戏会话的服务器进程的连接。
语法
public ConnectionStatus Connect(string endpoint, int remoteTcpPort, int listenPort, ConnectionToken token)
参数
- endpoint
-
要连接到的游戏会话的 DNS 名称和 IP 地址。终端节点在对象中指定,该
GameSession
对象是为了响应客户端调用 AmazonSDK Amazon GameLift API 操作StartGameSessionPlacement或而返回的DescribeGameSessions。CreateGameSession类型:字符串
必需:是
- remoteTcpPort
-
分配给游戏会话的 TCP 连接的端口号。此信息在对象中指定,该
GameSession
对象是为了响应StartGameSessionPlacementCreateGameSession、或DescribeGameSession请求而返回的。类型:整数
有效值:1900 到 2000。
必需:是
- listenPort
-
游戏客户端侦听使用 UDP 通道发送的消息的端口号。
类型:整数
有效值:33400 到 33500。
必需:是
- token
-
标识向服务器进程请求游戏客户端的可选信息。
必需:是
返回值
返回一个表示客户端连接状态的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 由开发人员定义。
类型:整数
必需:是
返回值
此方法不会返回任何内容。