mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
169 lines
9.9 KiB
ReStructuredText
169 lines
9.9 KiB
ReStructuredText
: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.)`
|