zawieszenie aplikacji podczas while

0

Witam,

Mam taki problem napisałem klienta który łączy się z serwerem w aplikacji konsolowej działa, a jak przeniosłem program do Form to się zawiesza najprawdopodobniej na pętli while - i nie wyświetla liczy prób na textBox2. Poniżej kod - dla ułatwienia daje cały.

 
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length > 0)
            {
                string send_data = Convert.ToString(b_send.Text);
                Client tmp_client = new Client(this);
                IPAddress ip_server = IPAddress.Parse("tu wpisuje moj adres IP");
                tmp_client.Client_Connect(ip_server, send_data);
            }
            else
            {
                textBox2.Text = "Nie podałeś danych...";
            }
        }
    }

a teraz klasa client

 
public class Client
    {
        ClientXML.Form1 Form_client;
        private static Socket _clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        public Client(Form1 tmp_form)
        {
            Form_client = tmp_form;
        }
        public void Client_Connect(IPAddress server_address, string data_to_send)
        {
            int attempts = 0;
            while (!_clientSocket.Connected)
            {

            try
            {
                attempts++;
                _clientSocket.Connect(server_address, 3301);
            }
            catch (SocketException)
            {
                Form_client.textBox2.Text = "Proba polaczenia = " + attempts;
            }

            }
            Send_Data(data_to_send);
        }


        private void Send_Data(string data_to_send)
        {


            byte[] buffer = Encoding.ASCII.GetBytes(data_to_send);
            _clientSocket.Send(buffer);
        }

    }

Może ktoś coś poradzi co z tym fantem zrobić?

3

Nie mozesz sie polaczyc z serwerem i nie dajesz mozliwosci UI sie odswiezyc przez co nic nie widzisz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1