Example #1
0
        public void Run()
        {
            IPEndPoint EndPoint = new IPEndPoint(IPAddress.Any, Port);

            ServerSocket.Bind(EndPoint);
            ServerSocket.Listen(0);

            Running = true;
            while (Running)
            {
                Socket       ClientSocket = ServerSocket.Accept();
                TelnetClient Client       = new TelnetClient(this, ClientSocket, DateTime.Now);
                lock (Clients)
                    Clients.Add(Client);

                // TODO: Better way
                Thread ClientThread = new Thread((C) => {
                    OnConnected?.Invoke((TelnetClient)C);
                    lock (Clients)
                        Clients.Remove((TelnetClient)C);
                });
                ClientThread.IsBackground = true;
                ClientThread.Start(Client);
            }
        }
Example #2
0
 public void RaiseOnAliasChanged(TelnetClient C, string Old, string New)
 {
     if (OnAliasChanged != null)
     {
         OnAliasChanged(C, Old, New);
     }
 }
Example #3
0
 public void Disconnect(TelnetClient TC)
 {
     if (Clients.Contains(TC))
     {
         Clients.Remove(TC);
         TC.ClientSocket.Disconnect(false);
         TC.ClientSocket.Dispose();
     }
 }
Example #4
0
        public void Run()
        {
            IPEndPoint EndPoint = new IPEndPoint(IPAddress.Any, Port);

            ServerSocket.Bind(EndPoint);
            ServerSocket.Listen(0);

            Running = true;
            while (Running)
            {
                Socket       ClientSocket = ServerSocket.Accept();
                TelnetClient Client       = new TelnetClient(this, ClientSocket, DateTime.Now);
                Clients.Add(Client);

                if (OnConnected != null)
                {
                    OnConnected(Client);
                }
            }
        }
Example #5
0
 public void RaiseOnAliasChanged(TelnetClient C, string Old, string New)
 {
     OnAliasChanged?.Invoke(C, Old, New);
 }