<?xml version="1.0" encoding="UTF-8" ?> <class name="WebSocketClient" inherits="WebSocketMultiplayerPeer" category="Core" version="3.1"> <brief_description> A WebSocket client implementation </brief_description> <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 [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 received appropriate signals when connecting, disconnecting, or when new data is available. </description> <tutorials> </tutorials> <demos> </demos> <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> <description> Connect to the given URL requesting one of the given [code]protocols[/code] as sub-protocol. 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]). </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> Disconnect this client from the connected host. See [method WebSocketPeer.close] for more info. </description> </method> </methods> <members> <member name="verify_ssl" type="bool" setter="set_verify_ssl_enabled" 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. </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. Note: This signal is NOT 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>