Używam kodu ISBX/apprtc-ios do implementacji czatu wideo. Ta praca jest idealna na iPhone'a i symulator. Chcę wysłać dane tekstowe/łańcuchowe między dwoma równorzędnymi użytkownikami i używam klasy RTCDataChannel
.Impelementacja RTCDataChannel WebRTC w iOS
Poniżej przedstawiam moją implementację i nie jestem w stanie nawiązać połączenia. Zawsze podaje status kRTCDataChannelStateConnecting
Jak mogę podłączyć RTCDataChannel? Czy istnieje dostępna implementacja WebRTC RTCDataChannel dla systemu iOS?
- (void)createNewDataChannel {
if (self.clientDataChannel) {
switch(self.clientDataChannel.state) {
case kRTCDataChannelStateConnecting:
NSLog(@"kRTCDataChannelStateConnecting");
break;
case kRTCDataChannelStateOpen:
NSLog(@"kRTCDataChannelStateOpen");
break;
case kRTCDataChannelStateClosing:
NSLog(@"kRTCDataChannelStateClosing");
break;
case kRTCDataChannelStateClosed:
NSLog(@"kRTCDataChannelStateClosed");
break;
default:
NSLog(@"Unknown");
}
return;
}
if (self.peerConnection == nil) {
NSLog(@"Peerconnection is nil");
}
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.clientDataChannel = dataChannel;
if (self.clientDataChannel == nil) {
NSLog(@"Datachannel is nil");
}
else {
NSLog(@"Datachannel is working");
}
}
Próbowałaś https://github.com/Mahabali/Apprtc-swift? Jestem pewien, że to samo, co internetowy datachannel to webrtc? Jaką odpowiedź otrzymujesz, gdy tworzysz kanał danych? – Dhilip