예제 #1
0
        void ClientThread(Object StateInfo)
        {
            ThreadClientParam param  = (ThreadClientParam)StateInfo;
            Client            client = new Client(param.client, param.server);

            client.Go();
            client.Stop();
            client = null;
        }
예제 #2
0
        public void Go()
        {
            Listener = new TcpListener(IPAddress.Any, port); // Создаем "слушателя" для указанного порта
            Listener.Start();                                // Запускаем его

            // В бесконечном цикле
            while (true)
            {
                // Принимаем нового клиента
                TcpClient Client = Listener.AcceptTcpClient();
                // Создаем поток
                Thread Thread = new Thread(new ParameterizedThreadStart(ClientThread));

                ThreadClientParam param = new ThreadClientParam();
                param.server = this;
                param.client = Client;

                // И запускаем этот поток, передавая ему принятого клиента
                Thread.Start(param);
            }
        }