WebSocketClient
Inherits: WebSocketMultiplayerPeer < NetworkedMultiplayerPeer < PacketPeer < Reference < Object
A WebSocket client implementation.
Description
This class implements a WebSocket client compatible with any RFC 6455-compliant WebSocket server.
This client can be optionally used as a network peer for the MultiplayerAPI.
After starting the client (connect_to_url), you will need to NetworkedMultiplayerPeer.poll it at regular intervals (e.g. inside Node._process).
You will receive appropriate signals when connecting, disconnecting, or when new data is available.
Properties
X509Certificate | trusted_ssl_certificate |
bool | verify_ssl |
Methods
Error | connect_to_url ( String url, PoolStringArray protocols=PoolStringArray( ), bool gd_mp_api=false, PoolStringArray custom_headers=PoolStringArray( ) ) |
void | disconnect_from_host ( int code=1000, String reason=”” ) |
String | get_connected_host ( ) const |
int | get_connected_port ( ) const |
Signals
- connection_closed ( bool was_clean_close )
Emitted when the connection to the server is closed. was_clean_close
will be true
if the connection was shutdown cleanly.
- connection_error ( )
Emitted when the connection to the server fails.
- connection_established ( String protocol )
Emitted when a connection with the server is established, protocol
will contain the sub-protocol agreed with the server.
- data_received ( )
Emitted when a WebSocket message is received.
Note: This signal is not emitted when used as high-level multiplayer peer.
Emitted when the server requests a clean close. You should keep polling until you get a connection_closed signal to achieve the clean close. See WebSocketPeer.close for more details.
Property Descriptions
- X509Certificate trusted_ssl_certificate
Setter | set_trusted_ssl_certificate(value) |
Getter | get_trusted_ssl_certificate() |
If specified, this X509Certificate will be the only one accepted when connecting to an SSL host. Any other certificate provided by the server will be regarded as invalid.
Note: Specifying a custom trusted_ssl_certificate
is not supported in HTML5 exports due to browsers restrictions.
- bool verify_ssl
Setter | set_verify_ssl_enabled(value) |
Getter | is_verify_ssl_enabled() |
If true
, SSL certificate verification is enabled.
Note: You must specify the certificates to be used in the Project Settings for it to work when exported.
Method Descriptions
- Error connect_to_url ( String url, PoolStringArray protocols=PoolStringArray( ), bool gd_mp_api=false, PoolStringArray custom_headers=PoolStringArray( ) )
Connects to the given URL requesting one of the given protocols
as sub-protocol. If the list empty (default), no sub-protocol will be requested.
If true
is passed as gd_mp_api
, the client will behave like a network peer for the MultiplayerAPI, connections to non-Godot servers will not work, and data_received will not be emitted.
If false
is passed instead (default), you must call PacketPeer functions (put_packet
, get_packet
, etc.) on the WebSocketPeer returned via get_peer(1)
and not on this object directly (e.g. get_peer(1).put_packet(data)
).
You can optionally pass a list of custom_headers
to be added to the handshake HTTP request.
Note: Specifying custom_headers
is not supported in HTML5 exports due to browsers restrictions.
Disconnects this client from the connected host. See WebSocketPeer.close for more information.
- String get_connected_host ( ) const
Return the IP address of the currently connected host.
- int get_connected_port ( ) const
Return the IP port of the currently connected host.