A WebSocket client implementation
    public class WebSocketClient : WebSocketMultiplayerPeer

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 (ConnectToUrl(string, string[], bool)), you will need to NetworkedMultiplayerPeer.Poll() it at regular intervals (e.g. inside Node._Process(float)).

You will received appropriate signals when connecting, disconnecting, or when new data is available.

Inheritance Chain


    public WebSocketClient()


    "connection_closed" (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.

    "connection_error" ()

Emitted when the connection to the server fails.

    "connection_established" (String protocol)

Emitted when a connection with the server is established, protocol will contain the sub-protocol agreed with the server.

    "data_received" ()

Emitted when a WebSocket message is received. Note: This signal is NOT emitted when used as high level multiplayer peer.

    "server_close_request" (int code, String reason)

Emitted when the server requests a clean close. You should keep polling until you get a connection_closed signal to achieve the clean close. See WebSocketPeer.Close(int, string) for more details.


    public bool VerifySsl { get; set; }

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.


    public Error ConnectToUrl(string url, string[] protocols = null, bool gdMpApi = false)

Connect to the given URL requesting one of the given protocols as sub-protocol.

If true is passed as gdMpApi, the client will behave like a network peer for the MultiplayerAPI, connections to non Godot servers will not work, and data_received will not be emitted.

If false is passed instead (default), you must call PacketPeer functions (put_packet, get_packet, etc.) on the WebSocketPeer returned via get_peer(1) and not on this object directly (e.g. get_peer(1).put_packet(data)).

    public void DisconnectFromHost(int code = 1000, string reason = "")

Disconnect this client from the connected host. See WebSocketPeer.Close(int, string) for more info.

    public bool IsVerifySslEnabled()

Getter for VerifySsl

    public void SetVerifySslEnabled(bool enabled)

Setter for VerifySsl