WebSocketServer¶
Inherits: WebSocketMultiplayerPeer < NetworkedMultiplayerPeer < PacketPeer < Reference < Object
Una implementación de un servidor WebSocket.
Descripción¶
Esta clase implementa un servidor WebSocket que también puede soportar la API multijugador de alto nivel.
Después de iniciar el servidor (listen), necesitarás NetworkedMultiplayerPeer.poll a intervalos regulares (por ejemplo, dentro de Node._process). Cuando los clientes se conecten, desconecten o envíen datos, recibirá la señal apropiada.
Nota: No disponible en las exportaciones en HTML5.
Propiedades¶
|
||
|
||
Métodos¶
void |
disconnect_peer ( int id, int code=1000, String reason="" ) |
get_peer_address ( int id ) const |
|
get_peer_port ( int id ) const |
|
is_listening ( ) const |
|
listen ( int port, PoolStringArray protocols=PoolStringArray( ), bool gd_mp_api=false ) |
|
void |
stop ( ) |
Señales¶
Emitido cuando un cliente solicita un cierre limpio. Debes seguir encuestando hasta que obtengas una señal client_disconnected con el mismo id
para lograr el cierre limpio. Ver WebSocketPeer.close para más detalles.
Emitido cuando un nuevo cliente se conecta. "Protocolo" será el sub-protocolo acordado con el cliente.
Emitido cuando un cliente se desconecta. was_clean_close
será true
si la conexión se ha cerrado limpiamente.
data_received ( int id )
Emitido cuando se recibe un nuevo mensaje.
Nota: Esta señal es no emitida cuando se usa como par multijugador de alto nivel.
Descripciones de Propiedades¶
String bind_ip
Default |
|
Setter |
set_bind_ip(value) |
Getter |
get_bind_ip() |
Si no se establece en *
se restringirán las conexiones entrantes a la dirección IP especificada. Si se establece bind_ip
en 127.0.0.1
, el servidor sólo escuchará al host local.
X509Certificate ca_chain
Setter |
set_ca_chain(value) |
Getter |
get_ca_chain() |
Cuando utilice SSL (consulte private_key y ssl_certificate), puede configurarlo como un X509Certificate válido que se proporcionará como información adicional de la cadena de CA durante el apretón de manos SSL.
float handshake_timeout
Default |
|
Setter |
set_handshake_timeout(value) |
Getter |
get_handshake_timeout() |
The time in seconds before a pending client (i.e. a client that has not yet finished the HTTP handshake) is considered stale and forcefully disconnected.
CryptoKey private_key
Setter |
set_private_key(value) |
Getter |
get_private_key() |
Cuando se configura en una CryptoKey válida (junto con ssl_certificate) hará que el servidor requiera SSL en lugar del TCP normal (es decir, el protocolo wss://
).
X509Certificate ssl_certificate
Setter |
set_ssl_certificate(value) |
Getter |
get_ssl_certificate() |
Cuando se establece en un X509Certificate válido (junto con private_key) hará que el servidor requiera SSL en lugar del TCP normal (es decir, el protocolo wss://
).
Descripciones de Métodos¶
Desconecta el par identificado por id
del servidor. Ver WebSocketPeer.close para más información.
Devuelve la dirección IP del par dado.
Devuelve el puerto remoto del par dado.
Devuelve true
si un par con el ID dado está conectado.
bool is_listening ( ) const
Devuelve true
si el servidor está escuchando activamente en un puerto.
Error listen ( int port, PoolStringArray protocols=PoolStringArray( ), bool gd_mp_api=false )
Empieza a escuchar en el puerto dado.
Puede especificar los subprotocolos deseados a través del array de "protocolos". Si la lista está vacía (por defecto), no se solicitará ningún subprotocolo.
Si se pasa true
como gd_mp_api
, el servidor se comportará como un par de red para la MultiplayerAPI, las conexiones de los clientes que no sean Godot no funcionarán y no se emitirá data_received.
Si en su lugar se pasa false
(por defecto), debe llamar a las funciones PacketPeer (put_packet
, get_packet
, etc. ), en el WebSocketPeer devuelto a través de get_peer(id)
para comunicarse con el par con el id
dado (por ejemplo, get_peer(id).get_available_packet_count
).
void stop ( )
Detiene el servidor y limpia su estado.