Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
 public MulticastService(IEnvironmentService environmentService)
 {
     _environmentService = environmentService;
     _sender             = new MulticastSender();
 }