数据通道Webrtc Swift

数据通道Webrtc Swift,swift,webrtc,rtcdatachannel,Swift,Webrtc,Rtcdatachannel,我想创建一个数据通道。但我在实现这一点上遇到了一些困难。我添加了在“调用方”上运行的代码: 正如许多人所说,我在报价前创建了数据通道。 这个方法(见下一段代码)被调用了好几次。通道状态从2变为3 public func dataChannelDidChangeState(_ dataChannel: RTCDataChannel){ print("channel.state \(dataChannel.readyState.rawValue)"); } 但是在接收端我需

我想创建一个数据通道。但我在实现这一点上遇到了一些困难。我添加了在“调用方”上运行的代码:

正如许多人所说,我在报价前创建了数据通道。 这个方法(见下一段代码)被调用了好几次。通道状态从2变为3

public func dataChannelDidChangeState(_ dataChannel: RTCDataChannel){
        print("channel.state \(dataChannel.readyState.rawValue)");
    }

但是在接收端我需要做什么呢?因为那里什么都没发生?我是否需要将数据通道绑定到接收器?如果是,我该怎么做

一旦您从主叫方创建了数据通道并发送offer,您应该通过从被叫方发送应答来建立对等连接。一旦建立对等连接,一旦数据通道准备好进行数据传输,就会在被调用方调用下面的对等连接委托

- (void)peerConnection:(RTCPeerConnection*)peerConnection
didOpenDataChannel:(RTCDataChannel*)dataChannel
要检查peerconnection是否成功建立,可以使用以下peerconnection委托检查ICE连接状态:

- (void)peerConnection:(RTCPeerConnection *)peerConnection
didChangeIceConnectionState:(RTCIceConnectionState)newState 

因此,如果newState==RTICeConnectionStateConnected,这意味着对等连接完成,您应该得到didOpenDataChannel调用。

您好,您有rtcdatachannel的工作示例吗?我可以接收数据但无法发送数据。如果您喜欢客户端和服务器,我可以提供代码
- (void)peerConnection:(RTCPeerConnection *)peerConnection
didChangeIceConnectionState:(RTCIceConnectionState)newState