Exemple #1
0
 public ClientObject(Socket socket, ServerObject serverObject)
 {
     Id     = Guid.NewGuid().ToString();
     client = socket;
     server = serverObject;
     serverObject.AddConnection(this);
 }
Exemple #2
0
        ServerObject server; // объект сервера

        public ClientObject(TcpClient tcpClient, ServerObject serverObject)
        {
            Id     = Guid.NewGuid().ToString();
            client = tcpClient;
            server = serverObject;
            serverObject.AddConnection(this);
        }
Exemple #3
0
 public ClientObject(TcpClient client, ServerObject serverObject)
 {
     this.client = client;
     this.server = serverObject;
     this.Id     = Guid.NewGuid().ToString();
     server.AddConnection(this);
 }
Exemple #4
0
 public ClientObject(TcpClient client, ServerObject server)
 {
     Id      = Guid.NewGuid().ToString();
     _client = client;
     _server = server;
     _server.AddConnection(this);
 }
Exemple #5
0
 public ClientObject(TcpClient tcpClient, ServerObject serverObject, IDbHelper dbHelper)
 {
     Id        = Guid.NewGuid().ToString();
     _client   = tcpClient;
     _server   = serverObject;
     _dbHelper = dbHelper;
     serverObject.AddConnection(this);
 }
Exemple #6
0
        public ClientObject(TcpClient tcpClient, ServerObject serverObject)
        {
            Id     = Guid.NewGuid().ToString();
            client = tcpClient;
            server = serverObject;
            serverObject.AddConnection(this);
            byte[] rnd = new byte[512];
            RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

            rng.GetBytes(rnd);
            authQ = rnd;
        }
        ServerObject server;         // объект сервера

        //конструктор, который инициализирует клиента
        public ClientObject(TcpClient tcpClient, ServerObject serverObject)
        {
            Id     = Guid.NewGuid().ToString();
            client = tcpClient;
            server = serverObject;
            serverObject.AddConnection(this);
            Stream = client.GetStream();

            int counter = 0;//счетчик кол-ва соединения с одинаковой комнатой

            //если соединений два, то комната заполнена, переходим к следующей

            //цикл установки комнаты
            while (true)
            {
                //проходим по всем комнатам и считаем сколько клиентов с этой комнатой
                //проверка комнат начинается с 1
                for (int i = 0; i < server.clients.Count; i++)
                {
                    if (server.clients[i].Room == room_number.ToString())
                    {
                        counter++;
                    }
                }

                //если соединений меньше, чем 2
                if (counter < 2)
                {
                    if (counter > 0)//если в комнате был один игрок, следовательно теперь их два, значит старт игры
                    {
                        Room = room_number.ToString();
                        Console.WriteLine("Подключился 2 игрок к комнате {0}", Room);
                        serverObject.GlobalRoomMessage("4", this.Room);//старт игры
                        Console.WriteLine("Старт игры");
                        break;
                    }
                    else//иначе, просто ожидаем подключение
                    {
                        Room = room_number.ToString();
                        Console.WriteLine("Подключился 1 игрок к комнате {0}", Room);
                        serverObject.RoomAnswerMessage("01", Room, Id);
                        break;
                    }
                }
                else// если подключения два, значит комната занята, увеличиваем номер комнаты
                {
                    room_number++;
                    counter = 0;
                }
            }
        }
Exemple #8
0
        public ClientObject(TcpClient tcpClient, ServerObject serverObject)
        {
            Id = Guid.NewGuid().ToString();

            this.tcpClient = tcpClient;
            server         = serverObject;
            Stream         = tcpClient.GetStream();

            IP = tcpClient.Client.RemoteEndPoint.ToString();

            GetClientInfo();

            serverObject.AddConnection(this);
        }