diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2018-05-08 14:40:08 +0200 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2018-05-08 21:15:50 +0200 |
commit | dd546dc5b86e0bb9c397919fd8bfcf8e8460bc38 (patch) | |
tree | 165735bd43e14a30b08841ead4e0983a851387c7 /modules/websocket/doc_classes | |
parent | cbb744c4e09c44cd44ab4a21bc3a814c0913f6fe (diff) |
Document websocket module, further document enet
Diffstat (limited to 'modules/websocket/doc_classes')
-rw-r--r-- | modules/websocket/doc_classes/WebSocketClient.xml | 70 | ||||
-rw-r--r-- | modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml | 35 | ||||
-rw-r--r-- | modules/websocket/doc_classes/WebSocketPeer.xml | 75 | ||||
-rw-r--r-- | modules/websocket/doc_classes/WebSocketServer.xml | 109 |
4 files changed, 289 insertions, 0 deletions
diff --git a/modules/websocket/doc_classes/WebSocketClient.xml b/modules/websocket/doc_classes/WebSocketClient.xml new file mode 100644 index 0000000000..2e11e1a44c --- /dev/null +++ b/modules/websocket/doc_classes/WebSocketClient.xml @@ -0,0 +1,70 @@ +<?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]. Note: connnections to non Godot servers will not work, and [signal data_received] will not be emitted when this option is true. + </description> + </method> + <method name="disconnect_from_host"> + <return type="void"> + </return> + <description> + Disconnect from the server if currently connected. + </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"> + <description> + Emitted when the connection to the server is closed. + </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> + </signals> + <constants> + </constants> +</class> diff --git a/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml b/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml new file mode 100644 index 0000000000..1a841f85ed --- /dev/null +++ b/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="WebSocketMultiplayerPeer" inherits="NetworkedMultiplayerPeer" category="Core" version="3.1"> + <brief_description> + Base class for WebSocket server and client. + </brief_description> + <description> + Base class for WebSocket server and client, allowing them to be used as network peer for the [MultiplayerAPI]. + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="get_peer" qualifiers="const"> + <return type="WebSocketPeer"> + </return> + <argument index="0" name="peer_id" type="int"> + </argument> + <description> + Returns the [WebSocketPeer] associated to the given [code]peer_id[/code]. + </description> + </method> + </methods> + <signals> + <signal name="peer_packet"> + <argument index="0" name="peer_source" type="int"> + </argument> + <description> + Emitted when a packet is received from a peer. Note: this signal is only emitted when the client or server is configured to use Godot multiplayer API. + </description> + </signal> + </signals> + <constants> + </constants> +</class> diff --git a/modules/websocket/doc_classes/WebSocketPeer.xml b/modules/websocket/doc_classes/WebSocketPeer.xml new file mode 100644 index 0000000000..85a08e0c0b --- /dev/null +++ b/modules/websocket/doc_classes/WebSocketPeer.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="WebSocketPeer" inherits="PacketPeer" category="Core" version="3.1"> + <brief_description> + A class representing a specific WebSocket connection. + </brief_description> + <description> + This class represent a specific WebSocket connection, you can do lower level operations with it. + You can choose to write to the socket in binary or text mode, and you can recognize the mode used for writing by the other peer. + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="close"> + <return type="void"> + </return> + <description> + Close this WebSocket connection, actively disconnecting the peer. + </description> + </method> + <method name="get_connected_host" qualifiers="const"> + <return type="String"> + </return> + <description> + Returns the IP Address of the connected peer. (Not available in HTML5 export) + </description> + </method> + <method name="get_connected_port" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the remote port of the connected peer. (Not available in HTML5 export) + </description> + </method> + <method name="get_write_mode" qualifiers="const"> + <return type="int" enum="WebSocketPeer.WriteMode"> + </return> + <description> + Get the current selected write mode. See [enum WriteMode]. + </description> + </method> + <method name="is_connected_to_host" qualifiers="const"> + <return type="bool"> + </return> + <description> + Returns [code]true[/code] if this peer is currently connected. + </description> + </method> + <method name="set_write_mode"> + <return type="void"> + </return> + <argument index="0" name="mode" type="int" enum="WebSocketPeer.WriteMode"> + </argument> + <description> + Sets the socket to use the given [enum WriteMode]. + </description> + </method> + <method name="was_string_packet" qualifiers="const"> + <return type="bool"> + </return> + <description> + Returns [code]true[/code] if the last received packet was sent as a text payload. See [enum WriteMode] + </description> + </method> + </methods> + <constants> + <constant name="WRITE_MODE_TEXT" value="0" enum="WriteMode"> + Specify that WebSockets messages should be transferred as text payload (only valid UTF-8 is allowed). + </constant> + <constant name="WRITE_MODE_BINARY" value="1" enum="WriteMode"> + Specify that WebSockets messages should be transferred as binary payload (any byte combination is allowed). + </constant> + </constants> +</class> diff --git a/modules/websocket/doc_classes/WebSocketServer.xml b/modules/websocket/doc_classes/WebSocketServer.xml new file mode 100644 index 0000000000..a1061e446b --- /dev/null +++ b/modules/websocket/doc_classes/WebSocketServer.xml @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="WebSocketServer" inherits="WebSocketMultiplayerPeer" category="Core" version="3.1"> + <brief_description> + A WebSocket server implementation + </brief_description> + <description> + This class implements a WebSocket server that can also support the high level multiplayer API. + After starting the server ([method listen]), you will need to [method NetworkedMultiplayerPeer.poll] it at regular intervals (e.g. inside [method Node._process]). When clients connect, disconnect, or send data, you will receive the appropriate signal. + Note: This class will not work in HTML5 exports due to browser restrictions. + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="disconnect_peer"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + Disconnects the given peer. + </description> + </method> + <method name="get_peer_address" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + Returns the IP address of the given peer. + </description> + </method> + <method name="get_peer_port" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + Returns the remote port of the given peer. + </description> + </method> + <method name="has_peer" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + Returns [code]true[/code] if a peer with the given ID is connected. + </description> + </method> + <method name="is_listening" qualifiers="const"> + <return type="bool"> + </return> + <description> + Returns [code]true[/code] if the server is actively listening on a port. + </description> + </method> + <method name="listen"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="port" type="int"> + </argument> + <argument index="1" name="protocols" type="PoolStringArray" default="PoolStringArray( )"> + </argument> + <argument index="2" name="gd_mp_api" type="bool" default="false"> + </argument> + <description> + Start listening on the given port. + You can specify the desired subprotocols via the "protocols" array. If the list empty (default), "binary" will be used. + You can use this server as a network peer for [MultiplayerAPI] by passing true as "gd_mp_api". Note: [signal data_received] will not be fired and clients other than Godot will not work in this case. + </description> + </method> + <method name="stop"> + <return type="void"> + </return> + <description> + Stop the server and clear its state. + </description> + </method> + </methods> + <signals> + <signal name="client_connected"> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="protocol" type="String"> + </argument> + <description> + Emitted when a new client connects. "protocol" will be the sub-protocol agreed with the client. + </description> + </signal> + <signal name="client_disconnected"> + <argument index="0" name="id" type="int"> + </argument> + <description> + Emitted when a client disconnects. + </description> + </signal> + <signal name="data_received"> + <argument index="0" name="id" type="int"> + </argument> + <description> + Emitted when a new message is received. Note: This signal is NOT emitted when used as high level multiplayer peer. + </description> + </signal> + </signals> + <constants> + </constants> +</class> |