using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; namespace Serveur { public partial class Serveur : Form { Thread Server; TcpListener SocketEcoute; bool redemarrageserver = false; public Serveur() { InitializeComponent(); Server = new Thread(Ecoute); etat_serveur.Text = "Inactif"; IP.Text = "127.0.0.1"; portserv.Text = "85"; } public void Ecoute() { try { int port = int.Parse(portserv.ToString()); IPAddress add = IPAddress.Parse("127.0.0.1".ToString()); SocketEcoute = new TcpListener(add, port); SocketEcoute.Start(); Socket MySocket = SocketEcoute.AcceptSocket(); MessageBox.Show("Un client s'est connecté !"); } catch { MessageBox.Show("Erreur"); } } private void demarrage_serv(object sender, EventArgs e) { if (!redemarrageserver) Server.Start(); // Ca foire içi else Server.Resume(); // au redémarrage etat_serveur.Text = "Démarré"; suspendre.Enabled = true; demarrage.Enabled = false; } private void arret_Click(object sender, EventArgs e) { SocketEcoute.Stop(); Server.Interrupt(); Server.Abort(); etat_serveur.Text = "Suspendu"; suspendre.Enabled = false; demarrage.Enabled = true; redemarrageserver = true; } private void test_thread(object sender, EventArgs e) { if (Server.IsAlive) MessageBox.Show("Thread alive !"); else MessageBox.Show("Thread détruit !"); } } }