public void Start() { Stop(); broadcastReceiver = new GlobalUdpBroadcaster(45678, true); broadcastReceiver.PacketReceived += BroadcastReceiver_PacketReceived; triggerBroadcastsThread = new Thread(() => { try { while (true) { Thread.Sleep(1333); if (Enabled) { broadcastReceiver.Broadcast(ByteUtil.Utf8NoBOM.GetBytes("SpeedTestServer Broadcast Request")); } } } catch (ThreadAbortException) { } catch (Exception ex) { Logger.Debug(ex); } }); triggerBroadcastsThread.Name = "Autodetector Timer Thread"; triggerBroadcastsThread.IsBackground = true; triggerBroadcastsThread.Start(); }
private void NetworkAddressesChanged() { lock (autodetectBroadcasterLock) { autodetectBroadcaster = new GlobalUdpBroadcaster(45678, true); autodetectBroadcaster.PacketReceived += AutodetectBroadcaster_PacketReceived; } }
public void Stop() { broadcastReceiver?.Stop(); broadcastReceiver = null; triggerBroadcastsThread?.Abort(); triggerBroadcastsThread = null; }