Attention: Here be dragons
This is the
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Inherited By: WebRTCPeerConnectionExtension
Interface to a WebRTC peer connection.
A WebRTC connection between the local computer and a remote peer. Provides an interface to connect, maintain and monitor the connection.
Setting up a WebRTC connection between two peers may not seem a trivial task, but it can be broken down into 3 main steps:
The peer that wants to initiate the connection (
Afrom now on) creates an offer and send it to the other peer (
Bfrom now on).
Breceives the offer, generate and answer, and sends it to
Bthen generates and exchange ICE candidates with each other.
After these steps, the connection should become connected. Keep on reading or look into the tutorial for more information.
close ( )
create_offer ( )
get_connection_state ( ) const
get_gathering_state ( ) const
get_signaling_state ( ) const
poll ( )
data_channel_received ( WebRTCDataChannel channel )
Emitted when a new in-band channel is received, i.e. when the channel was created with
negotiated: false (default).
Emitted when a new ICE candidate has been created. The three parameters are meant to be passed to the remote peer over the signaling server.
Emitted after a successful call to create_offer or set_remote_description (when it generates an answer). The parameters are meant to be passed to set_local_description on this object, and sent to the remote peer over the signaling server.
ConnectionState STATE_NEW =
The connection is new, data channels and an offer can be created in this state.
ConnectionState STATE_CONNECTING =
The peer is connecting, ICE is in progress, none of the transports has failed.
ConnectionState STATE_CONNECTED =
The peer is connected, all ICE transports are connected.
ConnectionState STATE_DISCONNECTED =
At least one ICE transport is disconnected.
ConnectionState STATE_FAILED =
One or more of the ICE transports failed.
ConnectionState STATE_CLOSED =
The peer connection is closed (after calling close for example).
GatheringState GATHERING_STATE_NEW =
The peer connection was just created and hasn't done any networking yet.
GatheringState GATHERING_STATE_GATHERING =
The ICE agent is in the process of gathering candidates for the connection.
GatheringState GATHERING_STATE_COMPLETE =
The ICE agent has finished gathering candidates. If something happens that requires collecting new candidates, such as a new interface being added or the addition of a new ICE server, the state will revert to gathering to gather those candidates.
SignalingState SIGNALING_STATE_STABLE =
There is no ongoing exchange of offer and answer underway. This may mean that the WebRTCPeerConnection is new (STATE_NEW) or that negotiation is complete and a connection has been established (STATE_CONNECTED).
SignalingState SIGNALING_STATE_HAVE_LOCAL_OFFER =