Files
godot-docs/classes/class_websocketclient.rst
2020-01-21 09:28:25 +01:00

125 lines
5.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>`
**Category:** Core
Brief Description
-----------------
A WebSocket client implementation
Properties
----------
+-------------------------+--------------------------------------------------------------+
| :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 **)** |
+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`disconnect_from_host<class_WebSocketClient_method_disconnect_from_host>` **(** :ref:`int<class_int>` code=1000, :ref:`String<class_String>` reason="" **)** |
+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
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.
Description
-----------
This class implements a WebSocket client compatible with any RFC 6455 complaint 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 received appropriate signals when connecting, disconnecting, or when new data is available.
Property Descriptions
---------------------
.. _class_WebSocketClient_property_verify_ssl:
- :ref:`bool<class_bool>` **verify_ssl**
+----------+-------------------------------+
| *Setter* | set_verify_ssl_enabled(value) |
+----------+-------------------------------+
| *Getter* | is_verify_ssl_enabled() |
+----------+-------------------------------+
Enable or disable SSL certificate verification. 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 **)**
Connect to the given URL requesting one of the given ``protocols`` as sub-protocol.
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)``).
----
.. _class_WebSocketClient_method_disconnect_from_host:
- void **disconnect_from_host** **(** :ref:`int<class_int>` code=1000, :ref:`String<class_String>` reason="" **)**
Disconnect this client from the connected host. See :ref:`WebSocketPeer.close<class_WebSocketPeer_method_close>` for more info.