Esempio n. 1
0
        protected DisplayDataForm()
        {
            InitializeComponent();
            _dataForDgrv = new BindingSource();
            SearchText   = string.Empty;

            //Main data grid view settings
            dgrvMain.SetDgrvDesignConfig();
            MainDgrv = dgrvMain;
            dgrvMain.AllowUserToDeleteRows = true;
            ResourceParameters             = new BaseResourceParameters();

            btnPrevPage.Enabled = false;

            //Tool tips
            toolTip.SetToolTip(btnPrevPage, "Previous page");
            toolTip.SetToolTip(btnNextPage, "Next page");

            if (!ConnectionCheck.CheckForInternetConnection())
            {
                pnlTop.Hide();
                dgrvMain.Hide();
                pnlNavButtons.Hide();
                _internetError = new PanelCheckInternetConnection(this);
                _internetError.Show();
                _internetError.BringToFront();
                Controls.Add(_internetError);
                _internetError.SetRetryConnectionEvent(RetryConnection);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 確認主機連線狀態
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void button_ShowSystemConnection_Click(object sender, EventArgs e)
 {
     dataGridView_System.DataSource = null;
     dataGridView_System.DataSource = ConnectionCheck.GetNetStatPorts(null, new List <string>()
     {
         fSetting.MulticastPort.ToString()
     });
 }
Esempio n. 3
0
 private void button1_Click(object sender, EventArgs e)
 {
     ConnectionCheck.Reset();
     // Start All
     foreach (var row in dataGridView1.Rows.Cast <DataGridViewRow>().Where(row => (bool)row.Cells["isEnabled"].Value))
     {
         BotSettings.Instance.Bots[row.Index].Start(force: checkBox1.Checked);
     }
 }
    //연결 체크 답신
    public void ServerConnectionAnswer(DataPacket packet)
    {
        ConnectionCheck newConnectionCheck = ConnectionChecker.FindClientWithSocket(packet.client);

        if (newConnectionCheck != null)
        {
            newConnectionCheck.IsConnected = true;
        }
    }
Esempio n. 5
0
        public void CheckConnectionTest()
        {
            var result = ConnectionCheck.Run(_url);

            Console.WriteLine(result);
            Assert.IsTrue(result.AvgResponseTime > .50, "Check connection queality >50%");
            result = ConnectionCheck.Run(_url + "/fake");
            Console.WriteLine(result);
            Assert.IsNull(result.AvgResponseTime, "Check connection queality 0%");
        }
Esempio n. 6
0
 public async void RetryConnection(object sender, EventArgs e)
 {
     if (ConnectionCheck.CheckForInternetConnection())
     {
         _internetError.Hide();
         pnlTop.Show();
         dgrvMain.Show();
         pnlNavButtons.Show();
         await LoadData();
     }
 }
    public static bool RemoveClient(Socket client)
    {
        ConnectionCheck newCheck = FindClientWithSocket(client);

        if (clients.Remove(newCheck))
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
        /// <summary>
        /// Check if the given server url is reachable.
        /// </summary>
        /// <returns>The server reachable.</returns>
        /// <param name="url">Server URL.</param>
        public async Task <bool> IsServerReachable(string url = "https://www.google.com", int msTimeout = 2000)
        {
            bool reachable = false;

            try
            {
                CrossConnectivity.Dispose();
                reachable = await ConnectionCheck.IsRemoteReachable(url, 80, msTimeout);
            }
            catch (Exception ex)
            {
                Log.Error <CoreController>("IsServerReachable", ex.Message);
            }

            return(reachable);
        }
    public static void AddClient(Socket newClient)
    {
        try
        {
            ConnectionCheck newCheck = new ConnectionCheck(newClient);
            clients.Add(newCheck);

            client = newClient;
            Thread connectionCheckThread = new Thread(new ThreadStart(ConnectionChecking));
            connectionCheckThread.Start();
        }
        catch (Exception e)
        {
            Console.WriteLine("체크 에러 " + e.Message);
        }
    }
Esempio n. 10
0
    // Use this for initialization
    public void Start()
    {
        allAudioSources = FindObjectOfType <AudioSource>();

        mState = PlayerPrefs.GetFloat("muted");
        if (mState == 1)
        {
            muteSounds.GetComponent <Image>().sprite = spriteSoundOn;
        }
        else
        {
            muteSounds.GetComponent <Image>().sprite = spriteSoundOff;
        }

        concheck = FindObjectOfType <ConnectionCheck>();
        Scene currentScene = SceneManager.GetActiveScene();

        sceneName = currentScene.name;
        PlayerPrefs.SetInt("level1lock", 1);

        //sceneFader = FindObjectOfType<SceneFader>();

        if (PlayerPrefs.GetFloat("DialogLevel") == 0)
        {
            cameraSound.GetComponent <AudioSource>().clip = changeSound;
            cameraSound.GetComponent <AudioSource>().Play();
            buttonClick.SetActive(true);
            CanvasMenu.SetActive(false);
            socialIcons.SetActive(false);
            googleServices.SetActive(false);
            credits.SetActive(false);
            exitButton.SetActive(false);
            muteSounds.SetActive(false);
        }
        else
        {
            muteSounds.SetActive(true);
            credits.SetActive(true);
            socialIcons.SetActive(true);
            CanvasMenu.SetActive(true);
            googleServices.SetActive(true);
            buttonClick.SetActive(false);
            exitButton.SetActive(true);
            // sceneFader.FadeTo("levelselect");
        }
    }
Esempio n. 11
0
        public void Start()
        {
            if (!Parent.IsStarted)
            {
                return;
            }

            if (!File.Exists(Location))
            {
                Logger.Instance.Write("File not found: {0}", Location);
                return;
            }

            _isStopped = false;
            // Ping check
            while (Settings.Default.ConnectionCheckPing && !ConnectionCheck.PingCheck() && !_isStopped)
            {
                Parent.Status = "Wait on internet connection";
                Logger.Instance.WriteGlobal("PingCheck: Waiting 10 seconds and trying again!");
                Thread.Sleep(10000);
            }

            // Check valid host
            while (Settings.Default.ConnectionCheckIpHost && !ConnectionCheck.CheckValidConnection() && !_isStopped)
            {
                Parent.Status = "Wait on host validation";
                Logger.Instance.WriteGlobal("ConnectionValidation: Waiting 10 seconds and trying again!");
                Thread.Sleep(10000);
            }

            // Check if we need to create a Diablo clone
            if (Parent.UseDiabloClone)
            {
                DiabloClone.Create(Parent);
            }

            Parent.Status = "Prepare Diablo"; // Update Status

            General.AgentKiller();            // Kill all Agent.exe processes

            // Prepare D3 for launch
            var agentDBPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\Battle.net\Agent\agent.db";

            if (File.Exists(agentDBPath))
            {
                Logger.Instance.Write("Deleting: {0}", agentDBPath);
                try
                {
                    File.Delete(agentDBPath);
                }
                catch (Exception ex)
                {
                    Logger.Instance.Write("Failed to delete! Exception: {0}", ex.Message);
                    DebugHelper.Exception(ex);
                }
            }

            // Copy D3Prefs
            if (!string.IsNullOrEmpty(Parent.D3PrefsLocation))
            {
                D3Prefs();
            }

            // Registry Changes
            RegistryClass.ChangeLocale(Parent.Diablo.Language); // change language
            RegistryClass.ChangeRegion(Parent.Diablo.Region);   // change region

            if (UseIsBoxer)
            {
                IsBoxerStarter();
            }
            else if (Settings.Default.UseD3Starter)
            {
                ApocD3Starter();
            }
            else
            {
                try
                {
                    var arguments = "-launch";
                    var pi        = new ProcessStartInfo(Location2, arguments)
                    {
                        WorkingDirectory = Path.GetDirectoryName(Location2)
                    };
                    pi = UserAccount.ImpersonateStartInfo(pi, Parent);
                    // Set working directory to executable location
                    Parent.Status = "Starting Diablo"; // Update Status
                    Proc          = Process.Start(pi);
                }
                catch (Exception ex)
                {
                    Parent.Stop();
                    DebugHelper.Exception(ex);
                    return;
                }
            }

            if (!UseIsBoxer) // Don't want to fight with isboxer
            {
                if (CpuCount != Environment.ProcessorCount)
                {
                    ProcessorAffinity = AllProcessors; // set it to all ones
                    CpuCount          = Environment.ProcessorCount;
                }
                Proc.ProcessorAffinity = (IntPtr)ProcessorAffinity;
            }


            if (_isStopped)
            {
                return;             // Halt here when bot is stopped while we where waiting for it to become active
            }
            // Wait for d3 to fully load
            var state    = (Settings.Default.UseD3Starter || UseIsBoxer ? 0 : 2);
            var handle   = IntPtr.Zero;
            var timedout = false;

            LimitStartTime(true); // reset startup time
            while ((!Proc.HasExited && state < 4))
            {
                if (timedout)
                {
                    return;
                }
                //Debug.WriteLine("Splash: " + FindWindow.FindWindowClass("D3 Splash Window Class", Proc.Id) + " Main:" + FindWindow.FindWindowClass("D3 Main Window Class", Proc.Id));
                switch (state)
                {
                case 0:
                    handle = FindWindow.FindWindowClass("D3 Splash Window Class", Proc.Id);
                    if (handle != IntPtr.Zero)
                    {
                        Logger.Instance.Write("Diablo:{0}: Found D3 Splash Window ({1})", Proc.Id, handle);
                        state++;
                        LimitStartTime(true);     // reset startup time
                    }
                    timedout = LimitStartTime();
                    break;

                case 1:
                    handle = FindWindow.FindWindowClass("D3 Splash Window Class", Proc.Id);
                    if (handle == IntPtr.Zero)
                    {
                        Logger.Instance.Write("Diablo:{0}: D3 Splash Window Closed ({1})", Proc.Id, handle);
                        state++;
                        LimitStartTime(true);     // reset startup time
                    }
                    timedout = LimitStartTime();
                    break;

                case 2:
                    handle = FindWindow.FindWindowClass("D3 Main Window Class", Proc.Id);
                    if (handle != IntPtr.Zero)
                    {
                        Logger.Instance.Write("Diablo:{0}: Found D3 Main Window ({1})", Proc.Id, handle);
                        state++;
                        LimitStartTime(true);     // reset startup time
                    }
                    timedout = LimitStartTime();
                    break;

                case 3:
                    if (CrashChecker.IsResponding(handle))
                    {
                        MainWindowHandle = handle;
                        state++;
                        LimitStartTime(true);     // reset startup time
                    }
                    timedout = LimitStartTime();
                    break;
                }
                Thread.Sleep(500);
            }
            if (timedout)
            {
                return;
            }

            if (Program.IsRunAsAdmin)
            {
                Proc.PriorityClass = General.GetPriorityClass(Priority);
            }
            else
            {
                Logger.Instance.Write(Parent, "Failed to change priority (No admin rights)");
            }
            // Continue after launching stuff
            Logger.Instance.Write("Diablo:{0}: Waiting for process to become ready", Proc.Id);

            var timeout = DateTime.Now;

            while (true)
            {
                if (General.DateSubtract(timeout) > 30)
                {
                    Logger.Instance.Write("Diablo:{0}: Failed to start!", Proc.Id);
                    Parent.Restart();
                    return;
                }
                Thread.Sleep(500);
                try
                {
                    Proc.Refresh();
                    if (Proc.WaitForInputIdle(100) || CrashChecker.IsResponding(MainWindowHandle))
                    {
                        break;
                    }
                }
                catch (Exception ex)
                {
                    DebugHelper.Exception(ex);
                }
            }

            if (!IsRunning)
            {
                return;
            }

            _lastRepsonse = DateTime.Now;

            Thread.Sleep(1500);
            if (NoFrame)
            {
                AutoPosition.RemoveWindowFrame(MainWindowHandle, true);          // Force remove window frame
            }
            if (ManualPosSize)
            {
                AutoPosition.ManualPositionWindow(MainWindowHandle, X, Y, W, H, Parent);
            }
            else if (Settings.Default.UseAutoPos)
            {
                AutoPosition.PositionWindows();
            }

            Logger.Instance.Write("Diablo:{0}: Process is ready", Proc.Id);

            // Demonbuddy start delay
            if (Settings.Default.DemonbuddyStartDelay > 0)
            {
                Logger.Instance.Write("Demonbuddy start delay, waiting {0} seconds", Settings.Default.DemonbuddyStartDelay);
                Thread.Sleep((int)Settings.Default.DemonbuddyStartDelay * 1000);
            }
        }
Esempio n. 12
0
        public async Task <bool> IsInternetConnectionActive()
        {
            return(await ConnectionCheck.HasInternet("google.com", 2000));

            //return CrossConnectivity.Current.IsConnected;
        }