private void ReplyToClient(ConnexionClient client, object data) { ConnexionClient c; foreach (DictionaryEntry entry in _clients) { c = (ConnexionClient)entry.Value; if (client.Nom != c.Nom) { client.SendData(data); } } }
public void Close() { foreach (DictionaryEntry entry in _clients) { ConnexionClient client = ((ConnexionClient)entry.Value); client.DataReceived -= OnDataReceived; client.Close(); } _clients.Clear(); _ecouteLoop = false; _listener.Stop(); System.Diagnostics.Debug.WriteLine(string.Format("ServerTCP.Close")); }
private void Ecoute() { _ecouteLoop = true; try { _listener = new TcpListener(IPAddress.Any, _port); _listener.Start(); do { ConnexionClient client = new ConnexionClient(_listener.AcceptTcpClient()); client.DataReceived += OnDataReceived; _clients.Add(client.Nom, client); // TEST ! System.Diagnostics.Debug.WriteLine(string.Format("ServerTCP.Ecoute : création client {0}", client.Nom)); ClientConnected(client.Nom); // Event ClientConnected } while (_ecouteLoop); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(string.Format("ServerTCP.Ecoute : Exception : erreur Ecoute server : {0}", ex.Message)); _ecouteLoop = false; } }
void DisconnectClient(ConnexionClient client) { _clients.Remove(client.Nom); System.Diagnostics.Debug.WriteLine(string.Format("ServerTCP.DisconnectClient : déco du client {0}", client.Nom)); }
private void SendToClients(ConnexionClient client, object data) { client.SendData(data); }
private void OnDataReceived(ConnexionClient sender, object data) { DataReceived(sender.Nom, data); }