class WebSocketClient
package godot
extends WebSocketMultiplayerPeer › NetworkedMultiplayerPeer › PacketPeer › Reference › Object
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 godot.MultiplayerAPI
.
After starting the client (godot.WebSocketClient.connectToUrl
), you will need to godot.NetworkedMultiplayerPeer.poll
it at regular intervals (e.g. inside godot.Node._Process
).
You will receive appropriate signals when connecting, disconnecting, or when new data is available.
Constructor
Variables
trustedSslCertificate:X509Certificate
If specified, this godot.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.
verifySsl:Bool
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.
Methods
connectToUrl(url:String, ?protocols:Array<String>, ?gdMpApi:Bool, ?customHeaders:Array<String>):Error
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 godot.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 godot.PacketPeer
functions (put_packet
, get_packet
, etc.) on the godot.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: To avoid mixed content warnings or errors in HTML5, you may have to use a url
that starts with wss://
(secure) instead of ws://
. When doing so, make sure to use the fully qualified domain name that matches the one defined in the server's SSL certificate. Do not connect directly via the IP address for wss://
connections, as it won't match with the SSL certificate.
Note: Specifying custom_headers
is not supported in HTML5 exports due to browsers restrictions.
Parameters:
protocols | If the parameter is null, then the default value is Array.Empty<string>() |
---|---|
customHeaders | If the parameter is null, then the default value is Array.Empty<string>() |
disconnectFromHost(?code:Int, ?reason:String):Void
Disconnects this client from the connected host. See godot.WebSocketPeer.close
for more information.