public async void Disconnect() { if (_state == ARDAppClientState.Disconnected) { return; } if (_isRegisteredWithRoomServer) { await UnregisterWithRoomServerAsync(); } if (_channel != null) { // if (_channel.state == kARDWebSocketChannelStateRegistered) { // // Tell the other client we're hanging up. // ARDByeMessage *byeMessage = [[ARDByeMessage alloc] init]; // NSData *byeData = [byeMessage JSONData]; // [_channel sendData:byeData]; // } // // Disconnect from collider. // _channel = nil; } _clientId = null; _roomId = null; _isInitiator = false; _hasReceivedSdp = false; _messageQueue = new List <ARDSignalingMessage>(); _peerConnection = null; _state = ARDAppClientState.Disconnected; }
void SetState(ARDAppClientState state) { if (_state == state) { return; } _state = state; ARDAppClientDelegate.DidChangeState(this, state); }
public async void ConnectToRoomWithId(string roomName) { _state = ARDAppClientState.Connecting; // Request TURN. var turnRequestURL = new Uri(kARDTurnRequestUrl); var turns = await RequestTURNServersWithURLAsync(turnRequestURL); for (int i = (int)turns.Count - 1; i >= 0; i--) { _iceServers.Add(turns.GetItem <NSObject>((nuint)i)); } _isTurnComplete = true; // Register with room server. var response = await RegisterWithRoomServerForRoomId(roomName); if (response == null || response.result != ARDRegisterResultType.SUCCESS) { System.Diagnostics.Debug.WriteLine($"Failed to register with room server. Result: {response.result}"); Disconnect(); NSError error = RoomServerNetworkError(kARDAppClientErrorRoomFull); ARDAppClientDelegate.DidError(this, error); return; } System.Diagnostics.Debug.WriteLine("Registered with room server."); _isInitiator = [email protected]_initiator; _clientId = [email protected]_id; _roomId = [email protected]_id; _webSocketURL = [email protected]_url; _webSocketRestURL = [email protected]_post_url; foreach (var msg in [email protected]) { //if (message.type == kARDSignalingMessageTypeOffer || // message.type == kARDSignalingMessageTypeAnswer) { // strongSelf.hasReceivedSdp = YES; // [strongSelf.messageQueue insertObject:message atIndex:0]; // } else { // [strongSelf.messageQueue addObject:message]; // } } RegisterWithColliderIfReady(); StartSignalingIfReady(); }
public void DidChangeState(ARDAppClientState state) { switch (state) { case ARDAppClientState.Disconnected: Console.WriteLine("Client disconnected."); Hangup(); break; case ARDAppClientState.Connecting: Console.WriteLine("Client connecting."); break; case ARDAppClientState.Connected: Console.WriteLine("Client connected."); break; } }
public void DidChangeState(IARDAppClient client, ARDAppClientState state) { switch (state) { case ARDAppClientState.Connected: Console.WriteLine("Client connected"); break; case ARDAppClientState.Connecting: Console.WriteLine("Client connecting"); break; case ARDAppClientState.Disconnected: RemoteDisconnected(); Console.WriteLine("Client disconnected"); break; default: break; } }
public void DidChangeState(ARDAppClientState state) { Console.WriteLine("Client {0}.", state); }