static void RemoveClient() { string ipPort = InputString("Client IP:port:", _LastClientIpPort, true); if (!String.IsNullOrEmpty(ipPort)) { _Server.DisconnectClient(ipPort); } }
private void Events_ClientConnected(object sender, ClientConnectedEventArgs e) //évènement client se connecte { if (bOneClient == true) // si un client est déjà connecté, on le déconnecte car on ne veut qu'un seul client { server.DisconnectClient(e.IpPort); } else { this.Invoke((MethodInvoker) delegate //sinon on passe sur le thread principal { client = e.IpPort; //o récupère l'ip du client qu'on affiche txtInfo.Text += $"{client} connected.{Environment.NewLine}"; lstClientIP.Items.Add(client); client = e.IpPort; bOneClient = true; //variable pour dire q'un client est connecté }); } }
public void stopServer() { contractLoadingThread.stopThread(); foreach (ClientModel item in clients.Clients) { server.DisconnectClient(item.IpPort); } clients.clear(); server.Stop(); server.Dispose(); while (server.IsListening) { ; } ServerLogger.Instance.writeLog("Server stopped..."); server.Events.ClientConnected -= EventClientConnected; server.Events.ClientDisconnected -= EventClientDisconnected; server.Events.DataReceived -= EventDataReceived; }
public static void ClientConnected(object sender, ClientConnectedEventArgs e) { //Console.WriteLine("[" + e.IpPort + "] client connected"); Application.Current.Dispatcher.Invoke((Action) delegate { connectPremission window1 = new connectPremission(e.IpPort); int res = window1.showWindow().Result; if (res == 1) { server.Send(e.IpPort, "p$1"); reff.isEstablished = true; ip = e.IpPort; } else if (res == 2) { server.Send(e.IpPort, "p$2"); server.DisconnectClient(e.IpPort); } }); }
static void Main(string[] args) { _ListenerIp = InputString("Listener IP :", "127.0.0.1", false); _ListenerPort = InputInteger("Listener Port :", 9000, true, false); _Ssl = InputBoolean("Use SSL :", false); if (_Ssl) { _PfxFilename = InputString("PFX Certificate File:", "simpletcp.pfx", false); _PfxPassword = InputString("PFX File Password:"******"simpletcp", false); } _Server = new SimpleTcpServer(_ListenerIp, _ListenerPort, _Ssl, _PfxFilename, _PfxPassword); _Server.Events.ClientConnected += ClientConnected; _Server.Events.ClientDisconnected += ClientDisconnected; _Server.Events.DataReceived += DataReceived; _Server.Settings.IdleClientTimeoutSeconds = _IdleClientTimeoutSeconds; _Server.Settings.MutuallyAuthenticate = false; _Server.Settings.AcceptInvalidCertificates = true; _Server.Logger = Logger; _Server.Start(); while (_RunForever) { string userInput = InputString("Command [? for help]:", null, false); switch (userInput) { case "?": Menu(); break; case "q": case "Q": _RunForever = false; break; case "c": case "C": case "cls": Console.Clear(); break; case "list": ListClients(); break; case "send": Send(); break; case "sendasync": SendAsync(); break; case "remove": Console.Write("IP:Port: "); string ipPort = Console.ReadLine(); _Server.DisconnectClient(ipPort); break; case "dispose": _Server.Dispose(); break; case "stats": Console.WriteLine(_Server.Statistics.ToString()); break; case "stats reset": _Server.Statistics.Reset(); break; } } }