private void Heartbeat(Encoding encoding) { var ipAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork); if (ipAddress == null) { throw new InvalidOperationException("No IP address???"); } var sender = new MulticastSender(encoding); while (_isRunning) { Thread.Sleep(5000); sender.Send("239.20.20.20", 8888, ipAddress.ToString()); } }
public ActionResult Index() { if (Request.Form.AllKeys.Contains("message")) { var message = Request.Form.Get("message"); using (var sender = new MulticastSender(GlobalModule.MulticastPortNumber)) { sender.SendMessage(message); } } Thread.Sleep(100); var module = GlobalModule.Instance; ViewBag.Title = "UDP Multi-casting Demo"; ViewBag.Message = "UDP Multicasting Send & Receive"; ViewBag.ReceivedMessage = module.LastReceivedMessage; return View(); }
public ActionResult Index() { if (Request.Form.AllKeys.Contains("message")) { var message = Request.Form.Get("message"); using (var sender = new MulticastSender(GlobalModule.MulticastPortNumber)) { sender.SendMessage(message); } } Thread.Sleep(100); var module = GlobalModule.Instance; ViewBag.Title = "UDP Multi-casting Demo"; ViewBag.Message = "UDP Multicasting Send & Receive"; ViewBag.ReceivedMessage = module.LastReceivedMessage; return(View()); }
public bool LoadConfig() { string configFile = GetConfigPath(); if (!File.Exists(configFile)) { MessageBox.Show(string.Format("Config file, '{0}', not found.", configFile), "Miner Control: Config file missing", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } Dictionary <string, object> data; try { string pageString = File.ReadAllText(configFile); JavaScriptSerializer serializer = new JavaScriptSerializer(); data = serializer.DeserializeObject(pageString) as Dictionary <string, object>; } catch (ArgumentException ex) { MessageBox.Show(string.Format("Error loading config file: '{0}'.", ex.Message), "Miner Control: Config file error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } try { LoadConfigGeneral(data["general"] as Dictionary <string, object>); LoadConfigAlgorithms(data["algorithms"] as object[]); } catch (Exception ex) { MessageBox.Show(string.Format("Error processing general configuration: '{0}'.", ex.Message), "Miner Control: Config file error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } try { LoadService(new NiceHashService(), data, "nicehash"); LoadService(new WestHashService(), data, "westhash"); LoadService(new TradeMyBitService(), data, "trademybit"); LoadService(new YaampService(), data, "yaamp"); LoadService(new WafflePoolService(), data, "wafflepool"); LoadService(new LtcRabbitService(), data, "ltcrabbit"); LoadService(new WePayBtcService(), data, "wepaybtc"); LoadService(new HamsterPoolService(), data, "hamsterpool"); LoadService(new ManualService(), data, "manual"); // Set Id for each entry for (int x = 0; x < _priceEntries.Count; x++) { _priceEntries[x].Id = x + 1; } } catch (Exception ex) { MessageBox.Show(string.Format("Error processing service configuration: '{0}'.", ex.Message), "Miner Control: Configuration file error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (_remoteSend) { _remoteSender = new MulticastSender(_endPoint, 1); _remoteSender.Start(); } if (_remoteReceive) { _remoteReceiver = new MulticastReceiver(_endPoint); _remoteReceiver.DataReceived += ProcessRemoteData; _remoteReceiver.Start(); } return(true); }
public bool LoadConfig() { string configFile = GetConfigPath(); if (!File.Exists(configFile)) { MessageBox.Show(string.Format("Config file, '{0}', not found.", configFile), "Miner Control: Config file missing", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } Dictionary <string, object> data; try { string pageString = File.ReadAllText(configFile); JavaScriptSerializer serializer = new JavaScriptSerializer(); data = serializer.DeserializeObject(pageString) as Dictionary <string, object>; } catch (ArgumentException ex) { MessageBox.Show(string.Format("Error loading config file: '{0}'.", ex.Message), "Miner Control: Config file error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } try { LoadConfigGeneral(data["general"] as Dictionary <string, object>); LoadConfigAlgorithms(data["algorithms"] as object[]); } catch (Exception ex) { MessageBox.Show(string.Format("Error processing general configuration: '{0}'.", ex.Message), "Miner Control: Config file error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } try { LoadService(new NiceHashService(), data, "nicehash"); LoadService(new LtcRabbitService(), data, "ltcrabbit"); LoadService(new WePayBtcService(), data, "wepaybtc"); foreach (string service in data.Keys) { switch (service) { case "general": break; case "algorithms": break; case "nicehash": break; case "ltcrabbit": break; case "wepaybtc": break; default: Dictionary <string, object> serviceData = data[service] as Dictionary <string, object>; if (service.StartsWith("manual", StringComparison.InvariantCultureIgnoreCase)) { if (serviceData != null && serviceData.ContainsKey("name")) { LoadService(new ManualService(serviceData.GetString("name")), serviceData); } else { LoadService(new ManualService(service), serviceData); } } else if (service.EndsWith("coin", StringComparison.InvariantCultureIgnoreCase)) { if (serviceData != null && serviceData.ContainsKey("name")) { LoadService(new CoinService(serviceData.GetString("name")), serviceData); } else { LoadService(new CoinService(service), serviceData); } } else { //All others are treated as YaampClones LoadService(new YaampCloneService(service), serviceData); } break; } } // Set Id for each entry for (int x = 0; x < _priceEntries.Count; x++) { _priceEntries[x].Id = x + 1; } } catch (Exception ex) { MessageBox.Show(string.Format("Error processing service configuration: '{0}'.", ex.Message), "Miner Control: Configuration file error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (_remoteSend) { _remoteSender = new MulticastSender(_endPoint, 1); _remoteSender.Start(); } if (_remoteReceive) { _remoteReceiver = new MulticastReceiver(_endPoint); _remoteReceiver.DataReceived += ProcessRemoteData; _remoteReceiver.Start(); } return(true); }
public MulticastService(IEnvironmentService environmentService) { _environmentService = environmentService; _sender = new MulticastSender(); }