private void StopClient() { try { _zeroConfig?.Stop(); _zeroConfig = null; NowPlayingUpdater.Stop(); StatusUpdater.Stop(); _mpMessageHandler.UnsubscribeFromMessages(); } catch (Exception ex) { ServiceRegistration.Get <ILogger>().Error("WifiRemote: Failed to stop server", ex); } }
/// <summary> /// Connects the IR client to the host configured in the settings. /// </summary> /// <returns><c>true</c>, if the client could successfully be started, else <c>false</c>.</returns> private bool StartClient() { try { ISettingsManager settingsManager = ServiceRegistration.Get <ISettingsManager>(); WifiRemoteSettings settings = settingsManager.Load <WifiRemoteSettings>(); // Start listening for client connections _socketServer = new SocketServer(Convert.ToUInt16(settings.Port)) { PassCode = settings.PassCode, AllowedAuth = (AuthMethod)settings.AuthenticationMethod, AutologinTimeout = settings.AutoLoginTimeout, ShowNotifications = false }; _socketServer.Start(); if (settings.EnableBonjour) { // start ZeroConfig _zeroConfig = new ZeroConfig(Convert.ToUInt16(settings.Port), settings.ServiceName, ""); _zeroConfig.PublishBonjourService(); } // start the MP Message Handler _mpMessageHandler = new MPMessageHandler(); _mpMessageHandler.SubscribeToMessages(); // Status updated StatusUpdater.Start(); ServiceRegistration.Get <ILogger>().Info("WifiRemote: Server started"); return(true); } catch (Exception ex) { ServiceRegistration.Get <ILogger>().Error("WifiRemote: Failed to start server, input service is unavailable for this session", ex); } return(false); }