實時服務器客戶端 API(C#)參考:操作 - Amazon GameLift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

實時服務器客戶端 API(C#)參考:操作

此 C# 即時用戶端 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物件中指定,該物件會回應用戶端呼叫 AWSSDK Amazon GameLift API 動作StartGameSessionPlacementCreateGameSession、或DescribeGameSessions

注意

如果 Realtime 伺服器在具有 TLS 憑證的機群上執行,您必須使用 DNS 名稱。

類型:字串

必要:是

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 是由開發人員定義。

類型:整數

必要:是

傳回值

此方法不會傳回任何內容。