public ConnectionStatus ConnectToSignalingServer(ConnectionOwner connectionOwner) { try { SignaledPeerData.Reset(); SignalingStatus.Reset(); SignaledRelayMessages.Reset(); var socket = new StreamSocket(); socket.EnableTransferOwnership(Guid.Parse(connectionOwner.OwnerId), SocketActivityConnectedStandbyAction.Wake); socket.ConnectAsync(new HostName(SignalingSettings.SignalingServerHost), SignalingSettings.SignalingServerPort, SocketProtectionLevel.PlainSocket) .AsTask() .Wait(); socket.TransferOwnership(SignalingSocketOperation.SignalingSocketId); return new ConnectionStatus { IsConnected = true }; } catch (Exception exception) { return new ConnectionStatus { IsConnected = false }; } }
public void Run(IBackgroundTaskInstance taskInstance) { var defferal = taskInstance.GetDeferral(); var taskHelper = new TaskHelper(); var signalingTask = taskHelper.GetTask(nameof(SignalingTask)); var connOwner = new ConnectionOwner { OwnerId = signalingTask.TaskId.ToString() }; Hub.Instance.SignalingSocketService.ConnectToSignalingServer(connOwner); Hub.Instance.SignalingClient.Register(new Registration { Name = RegistrationSettings.Name, UserId = RegistrationSettings.UserId, Domain = RegistrationSettings.Domain, PushNotificationChannelURI = RegistrationSettings.PushNotificationChannelURI }); defferal.Complete(); }
public ConnectionStatus ConnectToSignalingServer(ConnectionOwner connectionOwner) { _streamSocket = new StreamSocket(); _streamSocket.ConnectAsync(new HostName(SignalingSettings.SignalingServerHost), SignalingSettings.SignalingServerPort, SocketProtectionLevel.PlainSocket) .AsTask() .Wait(); _isConnected = true; _signalingClient = _unityContainer.Resolve<SignalingClient>(); StartReading(); return new ConnectionStatus { IsConnected = _isConnected }; }