pandemonium_engine_docs/classes/class_websocketpeer.rst

147 lines
7.7 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the WebSocketPeer.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_WebSocketPeer:
WebSocketPeer
=============
**Inherits:** :ref:`PacketPeer<class_PacketPeer>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
A class representing a specific WebSocket connection.
Description
-----------
This class represents a specific WebSocket connection, allowing you to 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.
Methods
-------
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`close<class_WebSocketPeer_method_close>` **(** :ref:`int<class_int>` code=1000, :ref:`String<class_String>` reason="" **)** |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_connected_host<class_WebSocketPeer_method_get_connected_host>` **(** **)** |const| |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_connected_port<class_WebSocketPeer_method_get_connected_port>` **(** **)** |const| |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_current_outbound_buffered_amount<class_WebSocketPeer_method_get_current_outbound_buffered_amount>` **(** **)** |const| |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`WriteMode<enum_WebSocketPeer_WriteMode>` | :ref:`get_write_mode<class_WebSocketPeer_method_get_write_mode>` **(** **)** |const| |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_connected_to_host<class_WebSocketPeer_method_is_connected_to_host>` **(** **)** |const| |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_no_delay<class_WebSocketPeer_method_set_no_delay>` **(** :ref:`bool<class_bool>` enabled **)** |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_write_mode<class_WebSocketPeer_method_set_write_mode>` **(** :ref:`WriteMode<enum_WebSocketPeer_WriteMode>` mode **)** |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`was_string_packet<class_WebSocketPeer_method_was_string_packet>` **(** **)** |const| |
+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
Enumerations
------------
.. _enum_WebSocketPeer_WriteMode:
.. _class_WebSocketPeer_constant_WRITE_MODE_TEXT:
.. _class_WebSocketPeer_constant_WRITE_MODE_BINARY:
enum **WriteMode**:
- **WRITE_MODE_TEXT** = **0** --- Specifies that WebSockets messages should be transferred as text payload (only valid UTF-8 is allowed).
- **WRITE_MODE_BINARY** = **1** --- Specifies that WebSockets messages should be transferred as binary payload (any byte combination is allowed).
Method Descriptions
-------------------
.. _class_WebSocketPeer_method_close:
- void **close** **(** :ref:`int<class_int>` code=1000, :ref:`String<class_String>` reason="" **)**
Closes this WebSocket connection. ``code`` is the status code for the closure (see RFC 6455 section 7.4 for a list of valid status codes). ``reason`` is the human readable reason for closing the connection (can be any UTF-8 string that's smaller than 123 bytes).
**Note:** To achieve a clean close, you will need to keep polling until either :ref:`WebSocketClient.connection_closed<class_WebSocketClient_signal_connection_closed>` or :ref:`WebSocketServer.client_disconnected<class_WebSocketServer_signal_client_disconnected>` is received.
**Note:** The HTML5 export might not support all status codes. Please refer to browser-specific documentation for more details.
----
.. _class_WebSocketPeer_method_get_connected_host:
- :ref:`String<class_String>` **get_connected_host** **(** **)** |const|
Returns the IP address of the connected peer.
**Note:** Not available in the HTML5 export.
----
.. _class_WebSocketPeer_method_get_connected_port:
- :ref:`int<class_int>` **get_connected_port** **(** **)** |const|
Returns the remote port of the connected peer.
**Note:** Not available in the HTML5 export.
----
.. _class_WebSocketPeer_method_get_current_outbound_buffered_amount:
- :ref:`int<class_int>` **get_current_outbound_buffered_amount** **(** **)** |const|
Returns the current amount of data in the outbound websocket buffer. **Note:** HTML5 exports use WebSocket.bufferedAmount, while other platforms use an internal buffer.
----
.. _class_WebSocketPeer_method_get_write_mode:
- :ref:`WriteMode<enum_WebSocketPeer_WriteMode>` **get_write_mode** **(** **)** |const|
Gets the current selected write mode. See :ref:`WriteMode<enum_WebSocketPeer_WriteMode>`.
----
.. _class_WebSocketPeer_method_is_connected_to_host:
- :ref:`bool<class_bool>` **is_connected_to_host** **(** **)** |const|
Returns ``true`` if this peer is currently connected.
----
.. _class_WebSocketPeer_method_set_no_delay:
- void **set_no_delay** **(** :ref:`bool<class_bool>` enabled **)**
Disable Nagle's algorithm on the underling TCP socket (default). See :ref:`StreamPeerTCP.set_no_delay<class_StreamPeerTCP_method_set_no_delay>` for more information.
**Note:** Not available in the HTML5 export.
----
.. _class_WebSocketPeer_method_set_write_mode:
- void **set_write_mode** **(** :ref:`WriteMode<enum_WebSocketPeer_WriteMode>` mode **)**
Sets the socket to use the given :ref:`WriteMode<enum_WebSocketPeer_WriteMode>`.
----
.. _class_WebSocketPeer_method_was_string_packet:
- :ref:`bool<class_bool>` **was_string_packet** **(** **)** |const|
Returns ``true`` if the last received packet was sent as a text payload. See :ref:`WriteMode<enum_WebSocketPeer_WriteMode>`.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`