Exemple #1
0
        static void RemoveClient()
        {
            string ipPort = InputString("Client IP:port:", _LastClientIpPort, true);

            if (!String.IsNullOrEmpty(ipPort))
            {
                _Server.DisconnectClient(ipPort);
            }
        }
Exemple #2
0
 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é
         });
     }
 }
Exemple #3
0
 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;
 }
Exemple #4
0
        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);
                }
            });
        }
Exemple #5
0
        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;
                }
            }
        }