Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (server == null)
            {
                if (textBox1.Text == "")
                {
                    MessageBox.Show("devi inserire una porta.",
                                    "Attenzione");
                    return;
                }
                int port = Convert.ToInt32(textBox1.Text);
                if (port < 1024 || port > 63000)
                {
                    MessageBox.Show("Porta non valida.",
                                    "Attenzione");
                    return;
                }
                if (textBox2.Text == "")
                {
                    MessageBox.Show("devi inserire una password.",
                                    "Attenzione");
                    return;
                }

                string password = textBox2.Text;
                clipb = new ClipboardSender();
                // istanzio l'oggetto server , creato sulla porta e la password scelte dall'utente.
                server = new MyServer();
                server.setpassw(password);
                server.setport(Convert.ToInt32(textBox1.Text));
                server.form = this;
                server.clp  = clipb;

                t = new Thread(new ThreadStart(server.StartListening)); // il thread t è quello che fa il run del server stesso
                t.IsBackground = true;                                  // lo mettiamo in background altrimenti rimarrebbe bloccato sull'accept o cmq su un event.
                // è inutile ucciderlo! perchè tanto dato che resta bloccato su un evento se non gira in background da problemi.
                t.Name = "thread connessione";
                t.Start();
            }
            else
            {
                MessageBox.Show("server gia in uso", "Attenzione"); return;
            }
        }