WebSocketServer
A WebSocket server implementation.
This class implements a WebSocket server that can also support the high-level multiplayer API.
After starting the server (), you will need to NetworkedMultiplayerPeer.poll it at regular intervals (e.g. inside ). When clients connect, disconnect, or send data, you will receive the appropriate signal.
Note: Not available in HTML5 exports.
Properties
void | disconnect_peer ( id, int code=1000, reason=”” ) |
String | ( int id ) const |
get_peer_port ( id ) const | |
bool | ( int id ) const |
is_listening ( ) const | |
listen ( port, PoolStringArray protocols=PoolStringArray( ), gd_mp_api=false ) | |
void | stop ( ) |
Signals
Emitted when a client requests a clean close. You should keep polling until you get a signal with the same id
to achieve the clean close. See WebSocketPeer.close for more details.
- client_connected ( id, String protocol )
Emitted when a new client connects. “protocol” will be the sub-protocol agreed with the client.
- client_disconnected ( id, bool was_clean_close )
Emitted when a client disconnects. was_clean_close
will be true
if the connection was shutdown cleanly.
- data_received ( id )
Note: This signal is not emitted when used as high-level multiplayer peer.
- String bind_ip
When not set to *
will restrict incoming connections to the specified IP address. Setting bind_ip
to will cause the server to listen only to the local host.
- ca_chain
Setter | set_ca_chain(value) |
Getter | get_ca_chain() |
When using SSL (see private_key and ), you can set this to a valid X509Certificate to be provided as additional CA chain information during the SSL handshake.
- private_key
When set to a valid CryptoKey (along with ) will cause the server to require SSL instead of regular TCP (i.e. the wss://
protocol).
Setter | set_ssl_certificate(value) |
Getter | get_ssl_certificate() |
When set to a valid X509Certificate (along with ) will cause the server to require SSL instead of regular TCP (i.e. the wss://
protocol).
Method Descriptions
Disconnects the peer identified by id
from the server. See for more information.
- String get_peer_address ( id ) const
Returns the IP address of the given peer.
- int get_peer_port ( id ) const
- bool has_peer ( id ) const
Returns true
if a peer with the given ID is connected.
- bool is_listening ( ) const
Returns true
if the server is actively listening on a port.
Starts listening on the given port.
You can specify the desired subprotocols via the “protocols” array. If the list empty (default), no sub-protocol will be requested.
If true
is passed as , the server will behave like a network peer for the , connections from non-Godot clients will not work, and data_received will not be emitted.
If false
is passed instead (default), you must call functions (put_packet
, get_packet
, etc.), on the WebSocketPeer returned via get_peer(id)
to communicate with the peer with given id
(e.g. get_peer(id).get_available_packet_count
).
Stops the server and clear its state.