2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								<?xml version="1.0" encoding="UTF-8" ?> 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-01 12:33:56 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								<class  name= "WebSocketClient"  inherits= "WebSocketMultiplayerPeer"  category= "Core"  version= "3.2" > 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										A WebSocket client implementation.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										This class implements a WebSocket client compatible with any RFC 6455-compliant WebSocket server.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										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]).
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										You will receive appropriate signals when connecting, disconnecting, or when new data is available.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									</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> 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-08 20:56:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											<argument  index= "3"  name= "custom_headers"  type= "PoolStringArray"  default= "PoolStringArray(  )" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											</argument> 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 15:46:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
												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.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
												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.
							 
						 
					
						
							
								
									
										
										
										
											2019-01-27 14:59:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
												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]).
							 
						 
					
						
							
								
									
										
										
										
											2019-10-08 20:56:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
												You can optionally pass a list of [code]custom_headers[/code] to be added to the handshake HTTP request (not supported in HTML5 platform).
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<method  name= "disconnect_from_host" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											<return  type= "void" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											</return> 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-24 01:49:09 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											<argument  index= "0"  name= "code"  type= "int"  default= "1000" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											</argument> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											<argument  index= "1"  name= "reason"  type= "String"  default= """" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											</argument> 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
												Disconnects this client from the connected host. See [method WebSocketPeer.close] for more information.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-08 20:56:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										<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> 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									</methods> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-08 20:56:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										<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.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										<member  name= "verify_ssl"  type= "bool"  setter= "set_verify_ssl_enabled"  getter= "is_verify_ssl_enabled" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											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.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										</member> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									</members> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<signals > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<signal  name= "connection_closed" > 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-24 01:49:09 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											<argument  index= "0"  name= "was_clean_close"  type= "bool" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											</argument> 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-24 01:49:09 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
												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.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											</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 > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
												Emitted when a WebSocket message is received.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
												[b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level multiplayer peer.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</signal> 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-24 01:49:09 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										<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> 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 14:40:08 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									</signals> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<constants > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									</constants> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								</class>