Ejemplo n.º 1
0
 private void OnNewUserConnect(User user)
 {
     this.Invoke((Action)(() =>
     {
         lbConnectedUsers.Items.Add(user.UserNickname);
     }));
 }
Ejemplo n.º 2
0
        async private void OnNewUserConnect(User user)
        {
            //this.BeginInvoke((Action)(() =>
            //{
            //    lbConnectedUsers.Items.Add(user.UserNickname);
            //}));

            await Task.Run( () => lbConnectedUsers.Items.Add(user.UserNickname)
                );
        }
Ejemplo n.º 3
0
        void ProcessServerMessage(Message message)
        {



            //$"ACTION=ActionName;CLIENTID={client.ClientId};NICKNAME={client.Nickname}",
            var messageVariables = message.MessageText.Split(';');

            var variables = messageVariables.Select(x =>
            {

                var parts = x.Split('=');
                var variable = parts[0];
                var value = parts[1];

                return new { Variable = variable, Value = value };

            }).ToArray();


            //if (!_isFirstMessageReceived)
            //{
            //    _clientId = Convert.ToInt32(variables[0].Value);
            //    _isFirstMessageReceived = true;
            //    return;
            //}

            var actionVariable = variables.First(x => x.Variable == "ACTION");

            var action = (ServerActions)Enum.Parse(typeof(ServerActions), actionVariable.Value);




            switch (action)
            {
                case ServerActions.ClientId:
                    var idVariable = variables.First(x => x.Variable == "CLIENTID");
                    _clientId = Convert.ToInt32(idVariable.Value);
                    break;
                case ServerActions.NewClientConnected:
                    var clientId = Convert.ToInt32(variables.First(x => x.Variable == "NEWCLIENTID").Value);
                    var nickName = variables.First(x => x.Variable == "NICKNAME").Value;
                    var user = new User { UserId = clientId, UserNickname = nickName };

                    ConnectedUsers.Add(user);
                    if (NewUserConnected != null)
                        NewUserConnected(user);


                    break;
                case ServerActions.ClientDisconnected:

                    break;
                default:
                    break;
            }












        }