Files
godot-docs/classes/class_websocketserver.rst
Rémi Verschelde ab3f908221 classref: Add property overview and setter/getter like in editor docs
Output from godotengine/godot#22013.
Fixes #1729.
2018-09-13 11:06:52 +02:00

117 lines
7.0 KiB
ReStructuredText

.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the WebSocketServer.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_WebSocketServer:
WebSocketServer
===============
**Inherits:** :ref:`WebSocketMultiplayerPeer<class_WebSocketMultiplayerPeer>` **<** :ref:`NetworkedMultiplayerPeer<class_NetworkedMultiplayerPeer>` **<** :ref:`PacketPeer<class_PacketPeer>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
**Category:** Core
Brief Description
-----------------
A WebSocket server implementation
Methods
-------
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`disconnect_peer<class_WebSocketServer_disconnect_peer>` **(** :ref:`int<class_int>` id **)** |
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_peer_address<class_WebSocketServer_get_peer_address>` **(** :ref:`int<class_int>` id **)** const |
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_peer_port<class_WebSocketServer_get_peer_port>` **(** :ref:`int<class_int>` id **)** const |
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_peer<class_WebSocketServer_has_peer>` **(** :ref:`int<class_int>` id **)** const |
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_listening<class_WebSocketServer_is_listening>` **(** **)** const |
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`listen<class_WebSocketServer_listen>` **(** :ref:`int<class_int>` port, :ref:`PoolStringArray<class_PoolStringArray>` protocols=PoolStringArray( ), :ref:`bool<class_bool>` gd_mp_api=false **)** |
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`stop<class_WebSocketServer_stop>` **(** **)** |
+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Signals
-------
.. _class_WebSocketServer_client_connected:
- **client_connected** **(** :ref:`int<class_int>` id, :ref:`String<class_String>` protocol **)**
Emitted when a new client connects. "protocol" will be the sub-protocol agreed with the client.
.. _class_WebSocketServer_client_disconnected:
- **client_disconnected** **(** :ref:`int<class_int>` id **)**
Emitted when a client disconnects.
.. _class_WebSocketServer_data_received:
- **data_received** **(** :ref:`int<class_int>` id **)**
Emitted when a new message is received. Note: This signal is NOT emitted when used as high level multiplayer peer.
Description
-----------
This class implements a WebSocket server that can also support the high level multiplayer API.
After starting the server (:ref:`listen<class_WebSocketServer_listen>`), you will need to :ref:`NetworkedMultiplayerPeer.poll<class_NetworkedMultiplayerPeer_poll>` it at regular intervals (e.g. inside :ref:`Node._process<class_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.
Method Descriptions
-------------------
.. _class_WebSocketServer_disconnect_peer:
- void **disconnect_peer** **(** :ref:`int<class_int>` id **)**
Disconnects the given peer.
.. _class_WebSocketServer_get_peer_address:
- :ref:`String<class_String>` **get_peer_address** **(** :ref:`int<class_int>` id **)** const
Returns the IP address of the given peer.
.. _class_WebSocketServer_get_peer_port:
- :ref:`int<class_int>` **get_peer_port** **(** :ref:`int<class_int>` id **)** const
Returns the remote port of the given peer.
.. _class_WebSocketServer_has_peer:
- :ref:`bool<class_bool>` **has_peer** **(** :ref:`int<class_int>` id **)** const
Returns ``true`` if a peer with the given ID is connected.
.. _class_WebSocketServer_is_listening:
- :ref:`bool<class_bool>` **is_listening** **(** **)** const
Returns ``true`` if the server is actively listening on a port.
.. _class_WebSocketServer_listen:
- :ref:`Error<enum_@GlobalScope_Error>` **listen** **(** :ref:`int<class_int>` port, :ref:`PoolStringArray<class_PoolStringArray>` protocols=PoolStringArray( ), :ref:`bool<class_bool>` gd_mp_api=false **)**
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 :ref:`MultiplayerAPI<class_MultiplayerAPI>` by passing true as "gd_mp_api". Note: :ref:`data_received<class_WebSocketServer_data_received>` will not be fired and clients other than Godot will not work in this case.
.. _class_WebSocketServer_stop:
- void **stop** **(** **)**
Stop the server and clear its state.