Esempio n. 1
0
        private async Task ConnectAsync(string ip, int port, string password)
        {
            await Task.Run(() =>
            {
                console.BeginInvoke((MethodInvoker) delegate()
                {
                    tbConsole.AppendText("Connecting..." + Environment.NewLine, colorConnecting);

                    StatusDot.ForeColor = Color.Orange;
                    //StatusDot.Invalidate();

                    if (lastServer.IP == tbIP.Text && lastServer.Port == Convert.ToInt32(tbPort.Value) && lastServer.Password == tbPw.Text) // it's last server
                    {
                        if (lastServer.ServerName != "LastServerEntry")
                        {
                            StatusLabel.Text = $"Connecting to {lastServer.ServerName} | {tbIP.Text}:{Convert.ToInt32(tbPort.Value)}";
                        }
                        else
                        {
                            //Console.WriteLine("ELSE");
                        }
                    }
                    else // not last server
                    {
                        StatusLabel.Text = $"Connecting to {tbIP.Text}:{Convert.ToInt32(tbPort.Value)}";
                    }
                });


                if (Sr.Connect(new IPEndPoint(IPAddress.Parse(ip), port), password))
                {
                    //tbConsole.Text += "Connecting..." + Environment.NewLine;


                    //TT.Start();

                    while (!Sr.Connected)
                    {
                        Thread.Sleep(10);
                    }


                    if (Sr.Connected)
                    {
                        //tbConsole.AppendText("Connected!" + Environment.NewLine, Color.LimeGreen);
                        //tbConsole.Text += "Connected!" + Environment.NewLine;
                    }
                }
                else
                {
                    console.BeginInvoke((MethodInvoker) delegate()
                    {
                        btnConnect.Text    = "Connect";
                        btnConnect.Enabled = true;
                    });
                }
            });
        }