2

使用数据通道“似乎”非常简单......我已经有很多同行可以正确共享音频和视频(在冰候选人交换阶段之后)。

在一个同行上,我执行以下几行:

RTCDataChannelConfiguration *config = [[RTCDataChannelConfiguration alloc] init];
config.channelId = 1000;
RTCDataChannel *dataChannel = [self.remotePeerConnection dataChannelForLabel:@"testDataChannel" configuration:config];
[dataChannel setDelegate:self];

在同一对等设备上,我希望在状态更改为时收到刚刚设置的委托的通知RTCDataChannelStateOpen

相反,在另一台设备上,我希望收到通知RTCPeerConnectionDelegate,特别是方法

- peerConnection:(RTCPeerConnection *)peerConnection
didOpenDataChannel:(RTCDataChannel *)dataChannel

这一切都没有发生……在第一台设备上,dataChannel 的状态保持在 on RTCDataChannelStateConnecting。如果我尝试使用相同的标识符创建另一个数据通道,则应用程序崩溃;所以我认为它确实创建了数据通道,但由于未知原因它没有成功打开它。有人可以解释这个过程中有什么问题吗?

4

0 回答 0