Riferimento all'API client (C#) di Realtime Servers: Actions - Amazon GameLift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riferimento all'API client (C#) di Realtime Servers: Actions

Questo riferimento all'API C# Realtime Client può aiutarti a preparare il tuo gioco multiplayer per l'uso con i server Realtime distribuiti sulle flotte Amazon. GameLift Per i dettagli sul processo di integrazione, consulta Prepara il tuo server in tempo reale.

Client()

Inizializza un nuovo client per comunicare con il server Realtime e identifica il tipo di connessione da utilizzare.

Sintassi

public Client(ClientConfiguration configuration)

Parametri

clientConfiguration

Dettagli di configurazione che specificano il tipo di connessione client/server. Puoi decidere di chiamare Client() senza questo parametro, ma questo approccio produce una connessione non protetta per impostazione predefinita.

Tipo: ClientConfiguration

Campo obbligatorio: no

Valore restituito

Restituisce un'istanza del client Realtime da utilizzare con la comunicazione con il server Realtime.

Connect()

Richiede una connessione a un processo server che ospita una sessione di gioco.

Sintassi

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

Parametri

endpoint

Nome DNS o indirizzo IP della sessione di gioco a cui connettersi. L'endpoint è specificato in un GameSession oggetto, che viene restituito in risposta a una chiamata del client alle azioni AWSSDK dell'GameLiftAPI Amazon StartGameSessionPlacementCreateGameSession, oppure. DescribeGameSessions

Nota

Se il server Realtime è in esecuzione su un parco istanze con un certificato TLS, è necessario utilizzare il nome DNS.

Tipo: String

Campo obbligatorio: sì

remoteTcpPort

Numero di porta per la connessione TCP assegnato alla sessione di gioco. Queste informazioni sono specificate in un GameSession oggetto, che viene restituito in risposta a una StartGameSessionPlacementCreateGameSessionDescribeGameSessionrichiesta.

Tipo: integer

Valori validi: da 1900 a 2000.

Campo obbligatorio: sì

listenPort

Numero di porta su cui il client di gioco è in ascolto per i messaggi inviati tramite il canale UDP.

Tipo: integer

Valori validi: da 33400 a 33500.

Campo obbligatorio: sì

token

Informazioni facoltative che identificano il client di gioco che sta eseguendo una richiesta al processo del server.

Tipo: ConnectionToken

Campo obbligatorio: sì

Valore restituito

Restituisce un valore ConnectionStatusenum che indica lo stato della connessione del client.

Disconnect()

Se connesso a una sessione di gioco, disconnette il client di gioco dalla sessione di gioco.

Sintassi

public void Disconnect()

Parametri

Questa operazione non prevede parametri.

Valore restituito

Questo metodo non restituisce nulla.

NewMessage()

Crea un nuovo oggetto di messaggio con un codice operazione specifico. Quando l'oggetto messaggio viene restituito, completare il contenuto del messaggio specificando una destinazione, aggiornando il metodo di distribuzione e aggiungendo un payload di dati in base alle esigenze. Una volta completata questa operazione, inviare il messaggio utilizzando SendMessage().

Sintassi

public RTMessage NewMessage(int opCode)

Parametri

opCode

Codice operativo definito dagli sviluppatori che identifica un evento di gioco o un'azione, ad esempio una mossa del giocatore o una notifica del server.

Tipo: integer

Campo obbligatorio: sì

Valore restituito

Restituisce un oggetto RTMessage contenente il codice dell'operazione specificata e il metodo di recapito predefinito. Per impostazione predefinita, il parametro delivery intent è impostato su FAST.

SendMessage()

Invia un messaggio a un giocatore o a un gruppo utilizzando il metodo di consegna specificato.

Sintassi

public void SendMessage(RTMessage message)

Parametri

message

Oggetto messaggio che specifica il destinatario target, il metodo di distribuzione e il contenuto del messaggio.

Tipo: RTMessage

Campo obbligatorio: sì

Valore restituito

Questo metodo non restituisce nulla.

JoinGroup()

Consente di aggiungere il giocatore come appartenente a un gruppo specificato. I gruppi possono contenere qualsiasi giocatore collegato al gioco. Una volta aggiunto, il giocatore riceve tutti i futuri messaggi inviati al gruppo e può inviare messaggi all'intero gruppo.

Sintassi

public void JoinGroup(int targetGroup)

Parametri

targetGroup

ID univoco che identifica il gruppo a cui aggiungere il giocatore. Gli ID di gruppo sono definiti dagli sviluppatori.

Tipo: integer

Campo obbligatorio: sì

Valore restituito

Questo metodo non restituisce nulla. Poiché questa richiesta viene inviata utilizzando il metodo di distribuzione affidabile (TCP), una richiesta non riuscita attiva una chiamata OnError().

LeaveGroup()

Consente di eliminare il giocatore come appartenente a un gruppo specifico. Se non è più parte del gruppo, il giocatore non riceve i messaggi inviati al gruppo e non può inviare messaggi all'intero gruppo.

Sintassi

public void LeaveGroup(int targetGroup)

Parametri

targetGroup

ID univoco che identifica il gruppo da cui aggiungere il giocatore. Gli ID di gruppo sono definiti dagli sviluppatori.

Tipo: integer

Campo obbligatorio: sì

Valore restituito

Questo metodo non restituisce nulla. Poiché questa richiesta viene inviata utilizzando il metodo di distribuzione affidabile (TCP), una richiesta non riuscita attiva una chiamata OnError().

RequestGroupMembership()

Richiede che un elenco di giocatori nel gruppo specificato venga inviato al client di gioco. Qualsiasi giocatore può richiedere queste informazioni, anche se non è un membro del gruppo. In risposta a questa richiesta, l'elenco di appartenenze viene inviato al client tramite una chiamata OnGroupMembershipUpdated().

Sintassi

public void RequestGroupMembership(int targetGroup)

Parametri

targetGroup

ID univoco che identifica il gruppo per ottenere le informazioni per la sottoscrizione. Gli ID di gruppo sono definiti dagli sviluppatori.

Tipo: integer

Campo obbligatorio: sì

Valore restituito

Questo metodo non restituisce nulla.