Exemplo n.º 1
0
        protected internal void RemoveConnection(string id)
        {
            // получаем по id закрытое подключение
            MyClient client = clients.FirstOrDefault(c => c.Id == id);

            activeClients.Remove(activeClients.First(x => x.Id == client.Id));
            if (activeClients.Count != 0)
            {
                Task.Factory.StartNew(() => BroadcastMessage("", "", "", activeClients));
            }

            // и удаляем его из списка подключений
            if (client != null)
            {
                clients.Remove(client);
            }
        }
Exemplo n.º 2
0
        // прослушивание входящих подключений
        protected internal void Listen()
        {
            try
            {
                tcpListener = new TcpListener(IPAddress.Any, 23333);
                tcpListener.Start();
                Console.WriteLine("Сервер запущен. Ожидание подключений...");

                while (true)
                {
                    TcpClient tcpClient    = tcpListener.AcceptTcpClient();
                    MyClient  clientObject = new MyClient(tcpClient, this, activeClients);
                    Thread    clientThread = new Thread(new ThreadStart(clientObject.Process));
                    clientThread.Start();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Disconnect();
            }
        }
Exemplo n.º 3
0
 protected internal void AddConnection(MyClient clientObject)
 {
     clients.Add(clientObject);
 }