A WebSocket client implementation.
This class implements a WebSocket client compatible with any RFC 6455-compliant WebSocket server.
This client can be optionally used as a multiplayer peer for the MultiplayerAPI.
You will receive appropriate signals when connecting, disconnecting, or when new data is available.
Note: When exporting to Android, make sure to enable the
INTERNET permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
get_connected_host ( ) const
get_connected_port ( ) const
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.
If specified, this X509Certificate will be the only one accepted when connecting to an TLS host. Any other certificate provided by the server will be regarded as invalid.
Note: Specifying a custom
trusted_tls_certificate is not supported in Web exports due to browsers' restrictions.
true, TLS certificate verification is enabled.
Note: You must specify the certificates to be used in the Project Settings for it to work when exported.
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.
false is passed instead (default), you must call PacketPeer functions (
get_packet, etc.) on the WebSocketPeer returned via
get_peer(1) and not on this object directly (e.g.
You can optionally pass a list of
custom_headers to be added to the handshake HTTP request.
Note: To avoid mixed content warnings or errors in Web, you may have to use a
url that starts with
wss:// (secure) instead of
ws://. When doing so, make sure to use the fully qualified domain name that matches the one defined in the server's TLS certificate. Do not connect directly via the IP address for
wss:// connections, as it won't match with the TLS certificate.
custom_headers is not supported in Web exports due to browsers' restrictions.
Disconnects this client from the connected host. See WebSocketPeer.close for more information.
String get_connected_host ( ) const
Returns the IP address of the currently connected host.
int get_connected_port ( ) const
Returns the IP port of the currently connected host.