:github_url: hide .. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the WebSocketClient.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_WebSocketClient: WebSocketClient =============== **Inherits:** :ref:`WebSocketMultiplayerPeer` **<** :ref:`NetworkedMultiplayerPeer` **<** :ref:`PacketPeer` **<** :ref:`Reference` **<** :ref:`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 :ref:`MultiplayerAPI`. After starting the client (:ref:`connect_to_url`), you will need to :ref:`NetworkedMultiplayerPeer.poll` it at regular intervals (e.g. inside :ref:`Node._process`). You will receive appropriate signals when connecting, disconnecting, or when new data is available. Properties ---------- +-----------------------------------------------+----------------------------------------------------------------------------------------+ | :ref:`X509Certificate` | :ref:`trusted_ssl_certificate` | +-----------------------------------------------+----------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`verify_ssl` | +-----------------------------------------------+----------------------------------------------------------------------------------------+ Methods ------- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`connect_to_url` **(** :ref:`String` url, :ref:`PoolStringArray` protocols=PoolStringArray( ), :ref:`bool` gd_mp_api=false, :ref:`PoolStringArray` custom_headers=PoolStringArray( ) **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`disconnect_from_host` **(** :ref:`int` code=1000, :ref:`String` reason="" **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_connected_host` **(** **)** |const| | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_connected_port` **(** **)** |const| | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Signals ------- .. _class_WebSocketClient_signal_connection_closed: - **connection_closed** **(** :ref:`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. ---- .. _class_WebSocketClient_signal_connection_error: - **connection_error** **(** **)** Emitted when the connection to the server fails. ---- .. _class_WebSocketClient_signal_connection_established: - **connection_established** **(** :ref:`String` protocol **)** Emitted when a connection with the server is established, ``protocol`` will contain the sub-protocol agreed with the server. ---- .. _class_WebSocketClient_signal_data_received: - **data_received** **(** **)** Emitted when a WebSocket message is received. **Note:** This signal is *not* emitted when used as high-level multiplayer peer. ---- .. _class_WebSocketClient_signal_server_close_request: - **server_close_request** **(** :ref:`int` code, :ref:`String` reason **)** Emitted when the server requests a clean close. You should keep polling until you get a :ref:`connection_closed` signal to achieve the clean close. See :ref:`WebSocketPeer.close` for more details. Property Descriptions --------------------- .. _class_WebSocketClient_property_trusted_ssl_certificate: - :ref:`X509Certificate` **trusted_ssl_certificate** +----------+------------------------------------+ | *Setter* | set_trusted_ssl_certificate(value) | +----------+------------------------------------+ | *Getter* | get_trusted_ssl_certificate() | +----------+------------------------------------+ If specified, this :ref:`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. ---- .. _class_WebSocketClient_property_verify_ssl: - :ref:`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 ------------------- .. _class_WebSocketClient_method_connect_to_url: - :ref:`Error` **connect_to_url** **(** :ref:`String` url, :ref:`PoolStringArray` protocols=PoolStringArray( ), :ref:`bool` gd_mp_api=false, :ref:`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 :ref:`MultiplayerAPI`, connections to non-Godot servers will not work, and :ref:`data_received` will not be emitted. If ``false`` is passed instead (default), you must call :ref:`PacketPeer` functions (``put_packet``, ``get_packet``, etc.) on the :ref:`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. ---- .. _class_WebSocketClient_method_disconnect_from_host: - void **disconnect_from_host** **(** :ref:`int` code=1000, :ref:`String` reason="" **)** Disconnects this client from the connected host. See :ref:`WebSocketPeer.close` for more information. ---- .. _class_WebSocketClient_method_get_connected_host: - :ref:`String` **get_connected_host** **(** **)** |const| Return the IP address of the currently connected host. ---- .. _class_WebSocketClient_method_get_connected_port: - :ref:`int` **get_connected_port** **(** **)** |const| Return the IP port of the currently connected host. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`