partial void StartDiscovery(NSObject sender) { DiscoveryModeBtn.Enabled = false; _newServer.OnDiscoveryTimeOut += _newServer_OnDiscoveryTimeOut; _secondsTimer.Interval = 1000; _discoverySeconds = 60; _secondsTimer.Elapsed += (timersender, e) => { _discoverySeconds--; if (_discoverySeconds < 0) { _discoverySeconds = 0; } if (_discoverySeconds == 0) { _secondsTimer.Stop(); _newServer.StopBroadcast(); _newServer_OnDiscoveryTimeOut(); return; } InvokeOnMainThread(() => { ServerStatusLabel.StringValue = "Discovery mode ON for " + _discoverySeconds.ToString() + " seconds"; }); }; _secondsTimer.Start(); new Task(() => { _newServer.ReceiveBroadcast(); }).Start(); }
/// <summary> /// Discovery mode on /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DebugBtn1_Click(object sender, EventArgs e) { Console.WriteLine("[FORM] Discovery Mode Enabled"); DebugBtn1.Enabled = false; statusLbl.Text = "Discovery mode ON for 60 seconds"; _newServer.OnDiscoveryTimeOut += _newServer_OnDiscoveryTimeOut; _secondsTimer.Interval = 1000; _discoverySeconds = 60; _secondsTimer.Tick += SecondsTimer_Tick; _secondsTimer.Start(); new Task(() => { _newServer.ReceiveBroadcast(); }).Start(); }