Exemplo n.º 1
0
        private void AddUser(string ipPort, JoinPayload payload)
        {
            Logger.Info($"Client from '{ipPort}' wants to join chat server.");
            if (string.IsNullOrWhiteSpace(payload.Name) || string.IsNullOrWhiteSpace(payload.Color))
            {
                Logger.Debug($"Client '{ipPort}' has no name or no color.");
                _server.DisconnectClient(ipPort, MessageStatus.Failure);
                return;
            }

            var user = new User
            {
                Id     = Guid.NewGuid(),
                Name   = payload.Name,
                Color  = payload.Color,
                IpPort = ipPort
            };
            var clientPayload = new JoinedPayload(user.Id, user.Name, user.Color);
            var clientPacket  = new ClientPacket(ClientAction.Joined, clientPayload);

            SendToAllUsers(clientPacket);

            Users.Add(user);
            InvokeUserJoinEvent(user);
        }
Exemplo n.º 2
0
        private void AddUser(JoinedPayload payload)
        {
            var newUser = new User
            {
                Id    = payload.UserId,
                Color = payload.Color,
                Name  = payload.Name
            };

            Users.Add(newUser);
            InvokeUserJoinEvent(newUser);
        }