0
私はAとBの間でビデオとオーディオを共有することができ、RTCDataChannelStateがkRTCDataChannelStateOpenに変更されています。iOSでRTCDataChannelを使用してメッセージを送信できません
- (void)channelDidChangeState:(RTCDataChannel*)channel
sendData
もしかし、私がメッセージを受信できないと
- (void)peerConnection:(RTCPeerConnection*)peerConnection
didOpenDataChannel:(RTCDataChannel*)dataChannel
はそれがないしかし、氷の状態がRTCICEConnectionConnected
に変更した後、それが呼ばれるべきだと思うんcalled.I決して、YESを返すことができます!
作成データチャネル:
RTCDataChannelInit *DataChannelInit = [[RTCDataChannelInit alloc] init];
DataChannelInit.maxRetransmits = 0;
DataChannelInit.isOrdered=false;
DataChannelInit.maxRetransmitTimeMs = -1;
DataChannelInit.isNegotiated = false;
DataChannelInit.streamId = 25;
RTCDataChannel *dataChannel =[_peerConnection createDataChannelWithLabel:@"commands" config:DataChannelInit];
dataChannel.delegate=self;
self.datachannel = dataChannel;
私の申し出とanwser:
あなたが問題を特定し、より簡単になりますオファー/アンサーSDPとのWebRTCのフレームワークのバージョンを添付する場合は- (RTCMediaConstraints *)defaultOfferConstraints {
NSArray *mandatoryConstraints = @[
[[RTCPair alloc] initWithKey:@"OfferToReceiveAudio" value:@"true"],
[[RTCPair alloc] initWithKey:@"OfferToReceiveVideo" value:@"true"]
];
NSArray *optionalConstraints = @[
[[RTCPair alloc] initWithKey:@"internalSctpDataChannels" value:@"true"],
[[RTCPair alloc] initWithKey:@"DtlsSrtpKeyAgreement" value:@"true"]
];
RTCMediaConstraints *constraints =
[[RTCMediaConstraints alloc]
initWithMandatoryConstraints:mandatoryConstraints
optionalConstraints:optionalConstraints];
return constraints;
}
私はデータチャンネルを作成した後にOfferを作成しますが、RemoteDescriptionを設定すると 'didOpenDataChannel'は呼び出されませんでした。 – potato
オファーsdpにペーストビンを提供できますか? – Ajay
ご協力いただきありがとうございます。私の[offer sdp](https://pastebin.com/embed_js/iY9h0SVS) – potato