Ejemplo n.º 1
0
        // Обработка подключенного клиента и регистрация пользователя
        private UserModel ConnectTcpClient(TcpClient tcpClient)
        {
            var ip = tcpClient.Client.RemoteEndPoint.ToString();

            _infoWriter.Write(InfoType.Info, string.Concat(ChatConstants.Client, " ", ip, " ", ChatConstants.Connected));

            _tcpClients.Add(tcpClient);
            var username = ChatLogic.GetUsernameFromTcpClient(tcpClient);

            if (string.IsNullOrEmpty(username))
            {
                return(null);
            }

            var user = new UserModel()
            {
                Username  = username,
                TcpClient = tcpClient
            };

            if (ConnectUser(user) == false)
            {
                return(null);
            }

            return(user);
        }