iOS-对等方发送数据时,Webrtc didReceiveMessageWith dataChannel不触发

时间:2018-10-09 10:16:08

标签: ios webrtc

我已经在IOS应用中实现了webrtc来建立音频通话。建立呼叫后,webrtc将打开数据通道的连接。 我的数据通道对象配置:

let tt = RTCDataChannelConfiguration();
    tt.isNegotiated = true
    self.datachannel = self.peerConnection.dataChannel(forLabel: "myLabel", configuration: tt)

我还设置了委托函数,以检查数据通道状态并接收来自其他对等方的消息。

RTCDataChannel委托函数

func dataChannelDidChangeState(_ dataChannel: RTCDataChannel) {
    print("dataChannelDidChangeState \(dataChannel)")
    let str = "Hello World"
    let data = str.data(using: String.Encoding.utf8, allowLossyConversion: false)
    dataChannel.sendData(RTCDataBuffer.init(data: data!, isBinary: false))


}
func dataChannel(_ dataChannel: RTCDataChannel, didChangeBufferedAmount amount: UInt64) {
    print("didChangeBufferedAmount")
}

func dataChannel(_ dataChannel: RTCDataChannel, didReceiveMessageWith buffer: RTCDataBuffer) {
    print("didReceiveMessageWith \(buffer)")
}

现在的问题是 一侧有IOS App,另一侧有webclient(使用javascript实现的webrtc)。 当webclient向IOS App发送消息时,负责获取消息的功能不会触发。

func dataChannel(_ dataChannel: RTCDataChannel, didReceiveMessageWith buffer: RTCDataBuffer) {
    print("didReceiveMessageWith \(buffer)")
}

但是当我将消息从IOS App发送到webclient时,Webclient的onMessage函数会收到消息。

DataChannel连接已打开,并且已声明已连接,但是我无法接收从Webclient发送到IOS App的消息。 从IOS App发送到Webclient的消息运行正常

0 个答案:

没有答案