예제 #1
0
 public static void Solving()
 {
     lock (IteratorObject)
     {
         problem++;
         if (problem == size * size)
         {
             MyServer.InvertMatrix();
         }
     }
 }
예제 #2
0
        public static void Run(string ipAddress, int port, int matrix_size)
        {
            IPAddress localAddr = IPAddress.Parse("127.0.0.1");

            _server = new TcpListener(localAddr, port);
            size    = matrix_size;

            MyServer.CreateProblem(size);

            // запуск слушателя
            _server.Start();
            _listenerThread = new Thread(ConnectionRegistrator);
            _listenerThread.Start();
        }
예제 #3
0
        public static void ConnectionRegistrator()
        {
            while (true)
            {
                Console.WriteLine("Ожидание подключений... ");

                // получаем входящее подключение
                TcpClient client = _server.AcceptTcpClient();
                Console.WriteLine("Подключен клиент.");

                ServerConnectionHandler handler;
                lock (ClientLockObject)
                {
                    handler = new ServerConnectionHandler(client);
                    _clients.Add(handler);
                }

                handler.SendMessage(Convert.ToString(size));
                handler.SendMessage(MyServer.GetMatrix());
            }
        }