Referencia de la API de cliente de Servidores en tiempo real (C#): Acciones
Esta referencia de la API de cliente de tiempo real de C# puede ayudarle a preparar el juego multijugador para utilizarlo con Servidores en tiempo real implementados en flotas de Amazon GameLift.
-
Acciones síncronas
Client()
Inicializa un nuevo cliente para comunicarse con el servidor Realtime e identifica el tipo de conexión que se va a utilizar.
Sintaxis
public Client(ClientConfiguration configuration)
Parámetros
- clientConfiguration
-
Detalles de configuración que especifican el tipo de conexión cliente/servidor. Puede optar por llamar a Client() sin este parámetro; sin embargo, este enfoque da como resultado una conexión no segura de forma predeterminada.
Tipo: ClientConfiguration
Requerido: no
Valor devuelto
Devuelve una instancia del cliente de Realtime para comunicarse con el servidor Realtime.
Connect()
Solicita una conexión a un proceso del servidor que aloja una sesión de juego.
Sintaxis
public ConnectionStatus Connect(string endpoint, int remoteTcpPort, int listenPort, ConnectionToken token)
Parámetros
- punto de conexión
-
Nombre de DNS o dirección IP de la sesión de juego a la que conectarse. El punto de conexión se especifica en un objeto
GameSession
, que se devuelve en respuesta a una llamada de cliente a las acciones de la API de Amazon GameLift del SDK de AWS StartGameSessionPlacement, CreateGameSession o DescribeGameSessions.nota
Si el servidor Realtime se ejecuta en una flota con un certificado TLS, debe utilizar el nombre de DNS.
Tipo: cadena
Obligatorio: sí
- remoteTcpPort
-
Número de puerto para la conexión TCP asignada a la sesión de juego. Esta información se especifica en un objeto
GameSession
, que se devuelve en respuesta a una solicitud StartGameSessionPlacement CreateGameSession o DescribeGameSession.Tipo: entero
Valores válidos: 1900 - 2000.
Obligatorio: sí
- listenPort
-
Número de puerto al que escucha el cliente del juego para mensajes enviados con el canal UDP.
Tipo: entero
Valores válidos: 33400 - 33500.
Obligatorio: sí
- token
-
Información opcional que identifica al cliente de juego solicitante del proceso del servidor.
Tipo: ConnectionToken
Obligatorio: sí
Valor devuelto
Devuelve un valor enum ConnectionStatus que indica el estado de conexión del cliente.
Disconnect()
Cuando se está conectado a una sesión del juego, desconecta el cliente del juego de la sesión del juego.
Sintaxis
public void Disconnect()
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Este método no devuelve nada.
NewMessage()
Crea un nuevo objeto de mensaje con un código de operación especificado. Tras devolver un objeto de mensaje, complete el contenido del mensaje especificando un objetivo, actualizando el método de entrega y añadiendo una carga de datos según sea necesario. Tras completar este proceso, envíe el mensaje con SendMessage()
.
Sintaxis
public RTMessage NewMessage(int opCode)
Parámetros
- opCode
-
Código de operación definido por el desarrollador que identifica un evento o acción del juego, como un movimiento del jugador o una notificación del servidor.
Tipo: entero
Obligatorio: sí
Valor devuelto
Devuelve un objeto RTMessage que contiene el código de operación especificado y el método de entrega predeterminado. El parámetro de intento de entrega está configurado como FAST
de forma predeterminada.
SendMessage()
Envía un mensaje a un jugador o grupo mediante el método de entrega especificado.
Sintaxis
public void SendMessage(RTMessage message)
Parámetros
- message
-
Objeto de mensaje que especifica el destinatario objetivo, el método de entrega y el contenido del mensaje.
Tipo: RTMessage
Obligatorio: sí
Valor devuelto
Este método no devuelve nada.
JoinGroup()
Añade el jugador a la pertenencia a un grupo especificado. Los grupos pueden contener a cualquiera de los jugadores conectados al juego. Tras unirse, el jugador recibe todos los mensajes futuros enviados al grupo y puede enviar los mensajes a la totalidad del grupo.
Sintaxis
public void JoinGroup(int targetGroup)
Parámetros
- targetGroup
-
ID único que identifica el grupo al que añadir al jugador. Los ID de grupos están definidos por el desarrollador.
Tipo: entero
Obligatorio: sí
Valor devuelto
Este método no devuelve nada. Dado que esta solicitud se envía mediante el método de entrega de confianza (TCP), las solicitudes erróneas activan la devolución de llamada OnError().
LeaveGroup()
Elimina al jugador de la pertenencia a un grupo especificado. Cuando ya no esté en el grupo, el jugador no recibe los mensajes enviados al grupo y no puede enviar mensajes a todo el grupo.
Sintaxis
public void LeaveGroup(int targetGroup)
Parámetros
- targetGroup
-
ID único que identifica el grupo del que eliminar al jugador. Los ID de grupos están definidos por el desarrollador.
Tipo: entero
Obligatorio: sí
Valor devuelto
Este método no devuelve nada. Dado que esta solicitud se envía mediante el método de entrega de confianza (TCP), las solicitudes erróneas activan la devolución de llamada OnError().
RequestGroupMembership()
Solicita que se envíe una lista de los jugadores en el grupo especificado al cliente del juego. Cualquier jugador puede solicitar esta información, independientemente de si son miembros del grupo o no. En respuesta a esta solicitud, la lista de miembros se envía al cliente a través de una devolución de llamada OnGroupMembershipUpdated().
Sintaxis
public void RequestGroupMembership(int targetGroup)
Parámetros
- targetGroup
-
ID único que identifica el grupo para el que obtener información de pertenencia. Los ID de grupos están definidos por el desarrollador.
Tipo: entero
Obligatorio: sí
Valor devuelto
Este método no devuelve nada.