108 lines
5.1 KiB
XML
108 lines
5.1 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="WebSocketClient" inherits="WebSocketMultiplayerPeer" category="Core" version="3.2">
|
|
<brief_description>
|
|
A WebSocket client implementation.
|
|
</brief_description>
|
|
<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 [MultiplayerAPI].
|
|
After starting the client ([method connect_to_url]), you will need to [method NetworkedMultiplayerPeer.poll] it at regular intervals (e.g. inside [method Node._process]).
|
|
You will receive appropriate signals when connecting, disconnecting, or when new data is available.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="connect_to_url">
|
|
<return type="int" enum="Error">
|
|
</return>
|
|
<argument index="0" name="url" type="String">
|
|
</argument>
|
|
<argument index="1" name="protocols" type="PoolStringArray" default="PoolStringArray( )">
|
|
</argument>
|
|
<argument index="2" name="gd_mp_api" type="bool" default="false">
|
|
</argument>
|
|
<argument index="3" name="custom_headers" type="PoolStringArray" default="PoolStringArray( )">
|
|
</argument>
|
|
<description>
|
|
Connects to the given URL requesting one of the given [code]protocols[/code] as sub-protocol. If the list empty (default), no sub-protocol will be requested.
|
|
If [code]true[/code] is passed as [code]gd_mp_api[/code], the client will behave like a network peer for the [MultiplayerAPI], connections to non-Godot servers will not work, and [signal data_received] will not be emitted.
|
|
If [code]false[/code] is passed instead (default), you must call [PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], etc.) on the [WebSocketPeer] returned via [code]get_peer(1)[/code] and not on this object directly (e.g. [code]get_peer(1).put_packet(data)[/code]).
|
|
You can optionally pass a list of [code]custom_headers[/code] to be added to the handshake HTTP request.
|
|
[b]Note:[/b] Specifying [code]custom_headers[/code] is not supported in HTML5 exports due to browsers restrictions.
|
|
</description>
|
|
</method>
|
|
<method name="disconnect_from_host">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="code" type="int" default="1000">
|
|
</argument>
|
|
<argument index="1" name="reason" type="String" default="""">
|
|
</argument>
|
|
<description>
|
|
Disconnects this client from the connected host. See [method WebSocketPeer.close] for more information.
|
|
</description>
|
|
</method>
|
|
<method name="get_connected_host" qualifiers="const">
|
|
<return type="String">
|
|
</return>
|
|
<description>
|
|
Return the IP address of the currently connected host.
|
|
</description>
|
|
</method>
|
|
<method name="get_connected_port" qualifiers="const">
|
|
<return type="int">
|
|
</return>
|
|
<description>
|
|
Return the IP port of the currently connected host.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="trusted_ssl_certificate" type="X509Certificate" setter="set_trusted_ssl_certificate" getter="get_trusted_ssl_certificate">
|
|
If specified, this [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.
|
|
[b]Note:[/b] Specifying a custom [code]trusted_ssl_certificate[/code] is not supported in HTML5 exports due to browsers restrictions.
|
|
</member>
|
|
<member name="verify_ssl" type="bool" setter="set_verify_ssl_enabled" getter="is_verify_ssl_enabled">
|
|
If [code]true[/code], SSL certificate verification is enabled.
|
|
[b]Note:[/b] You must specify the certificates to be used in the Project Settings for it to work when exported.
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="connection_closed">
|
|
<argument index="0" name="was_clean_close" type="bool">
|
|
</argument>
|
|
<description>
|
|
Emitted when the connection to the server is closed. [code]was_clean_close[/code] will be [code]true[/code] if the connection was shutdown cleanly.
|
|
</description>
|
|
</signal>
|
|
<signal name="connection_error">
|
|
<description>
|
|
Emitted when the connection to the server fails.
|
|
</description>
|
|
</signal>
|
|
<signal name="connection_established">
|
|
<argument index="0" name="protocol" type="String">
|
|
</argument>
|
|
<description>
|
|
Emitted when a connection with the server is established, [code]protocol[/code] will contain the sub-protocol agreed with the server.
|
|
</description>
|
|
</signal>
|
|
<signal name="data_received">
|
|
<description>
|
|
Emitted when a WebSocket message is received.
|
|
[b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level multiplayer peer.
|
|
</description>
|
|
</signal>
|
|
<signal name="server_close_request">
|
|
<argument index="0" name="code" type="int">
|
|
</argument>
|
|
<argument index="1" name="reason" type="String">
|
|
</argument>
|
|
<description>
|
|
Emitted when the server requests a clean close. You should keep polling until you get a [signal connection_closed] signal to achieve the clean close. See [method WebSocketPeer.close] for more details.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
<constants>
|
|
</constants>
|
|
</class>
|