123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- :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/<name>/doc_classes.
- .. _class_WebSocketClient:
- WebSocketClient
- ===============
- **Inherits:** :ref:`WebSocketMultiplayerPeer<class_WebSocketMultiplayerPeer>` **<** :ref:`NetworkedMultiplayerPeer<class_NetworkedMultiplayerPeer>` **<** :ref:`PacketPeer<class_PacketPeer>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_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<class_MultiplayerAPI>`.
- After starting the client (:ref:`connect_to_url<class_WebSocketClient_method_connect_to_url>`), you will need to :ref:`NetworkedMultiplayerPeer.poll<class_NetworkedMultiplayerPeer_method_poll>` it at regular intervals (e.g. inside :ref:`Node._process<class_Node_method__process>`).
- You will receive appropriate signals when connecting, disconnecting, or when new data is available.
- Properties
- ----------
- +-----------------------------------------------+----------------------------------------------------------------------------------------+
- | :ref:`X509Certificate<class_X509Certificate>` | :ref:`trusted_ssl_certificate<class_WebSocketClient_property_trusted_ssl_certificate>` |
- +-----------------------------------------------+----------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`verify_ssl<class_WebSocketClient_property_verify_ssl>` |
- +-----------------------------------------------+----------------------------------------------------------------------------------------+
- Methods
- -------
- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`connect_to_url<class_WebSocketClient_method_connect_to_url>` **(** :ref:`String<class_String>` url, :ref:`PoolStringArray<class_PoolStringArray>` protocols=PoolStringArray( ), :ref:`bool<class_bool>` gd_mp_api=false, :ref:`PoolStringArray<class_PoolStringArray>` custom_headers=PoolStringArray( ) **)** |
- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`disconnect_from_host<class_WebSocketClient_method_disconnect_from_host>` **(** :ref:`int<class_int>` code=1000, :ref:`String<class_String>` reason="" **)** |
- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_connected_host<class_WebSocketClient_method_get_connected_host>` **(** **)** |const| |
- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_connected_port<class_WebSocketClient_method_get_connected_port>` **(** **)** |const| |
- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- Signals
- -------
- .. _class_WebSocketClient_signal_connection_closed:
- - **connection_closed** **(** :ref:`bool<class_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<class_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<class_int>` code, :ref:`String<class_String>` reason **)**
- Emitted when the server requests a clean close. You should keep polling until you get a :ref:`connection_closed<class_WebSocketClient_signal_connection_closed>` signal to achieve the clean close. See :ref:`WebSocketPeer.close<class_WebSocketPeer_method_close>` for more details.
- Property Descriptions
- ---------------------
- .. _class_WebSocketClient_property_trusted_ssl_certificate:
- - :ref:`X509Certificate<class_X509Certificate>` **trusted_ssl_certificate**
- +----------+------------------------------------+
- | *Setter* | set_trusted_ssl_certificate(value) |
- +----------+------------------------------------+
- | *Getter* | get_trusted_ssl_certificate() |
- +----------+------------------------------------+
- If specified, this :ref:`X509Certificate<class_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<class_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<enum_@GlobalScope_Error>` **connect_to_url** **(** :ref:`String<class_String>` url, :ref:`PoolStringArray<class_PoolStringArray>` protocols=PoolStringArray( ), :ref:`bool<class_bool>` gd_mp_api=false, :ref:`PoolStringArray<class_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<class_MultiplayerAPI>`, connections to non-Godot servers will not work, and :ref:`data_received<class_WebSocketClient_signal_data_received>` will not be emitted.
- If ``false`` is passed instead (default), you must call :ref:`PacketPeer<class_PacketPeer>` functions (``put_packet``, ``get_packet``, etc.) on the :ref:`WebSocketPeer<class_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<class_int>` code=1000, :ref:`String<class_String>` reason="" **)**
- Disconnects this client from the connected host. See :ref:`WebSocketPeer.close<class_WebSocketPeer_method_close>` for more information.
- ----
- .. _class_WebSocketClient_method_get_connected_host:
- - :ref:`String<class_String>` **get_connected_host** **(** **)** |const|
- Return the IP address of the currently connected host.
- ----
- .. _class_WebSocketClient_method_get_connected_port:
- - :ref:`int<class_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.)`
|