webrtc-android
webrtc-android copied to clipboard
DataChannel example
trafficstars
Looks like PeerConnection.createDataChannel does not trigger PeerConnection.Observer.onDataChannel
Maybe I'm doing something wrong
So could you provide small example?
It will be triggered after the two peers establish a connection
also you could set negotiated=true and id=0 to all your peers and you will not need onDataChannel anymore
val dataChannelConfig = DataChannel.Init()
dataChannelConfig.negotiated = true
dataChannelConfig.id = 0
dataChannel = localPeer?.createDataChannel("ch0", dataChannelConfig)
dataChannel?.registerObserver(object : DataChannel.Observer {
override fun onBufferedAmountChange(p0: Long) {}
override fun onMessage(buffer: DataChannel.Buffer?) {
if (buffer == null) return
val msg = StandardCharsets.UTF_8.decode(buffer.data)
}
override fun onStateChange() {
if (dataChannel?.state() == DataChannel.State.OPEN) {
// peers connected, channel open
}
}
})