Exemplo n.º 1
0
        public void Run()
        {
            DatabaseTools dbtool = new DatabaseTools();

            if (Tcp.Connected)
            {
                try
                {
                    NetworkStream x      = Tcp.GetStream();
                    BinaryWriter  writer = new BinaryWriter(x);
                    writer.Write("Ange ditt chattnamn!");
                    writer.Flush();
                    NetworkStream y      = Tcp.GetStream();
                    BinaryReader  reader = new BinaryReader(y);
                    string        name   = reader.ReadString();

                    ClientHandler newClient = new ClientHandler(name, Tcp, Server);
                    Server.ConnectedUsers.Add(newClient);
                    dbtool.AddChatter(newClient);
                    Thread client = new Thread(newClient.Run);

                    client.Start();
                    Console.WriteLine(newClient.Name + " just joined the server");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
Exemplo n.º 2
0
 public void Run()
 {
     try
     {
         MessageListener msglistener = new MessageListener(this);
         Thread          thread      = new Thread(msglistener.Run);
         thread.Start();
         DatabaseTools dbtools = new DatabaseTools();
         dbtools.ClearDB();
         dbtools.Start();
         Console.WriteLine("Server is up and running!");
         while (true)
         {
             listener.Start();
             TcpClient newTcpClient = listener.AcceptTcpClient();
             var       newUser      = new AddUser(newTcpClient, this);
             Thread    addUser      = new Thread(newUser.Run);
             addUser.Start();
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
     finally
     {
     }
 }
Exemplo n.º 3
0
        public void Broadcast(Message message)
        {
            DatabaseTools DBtools = new DatabaseTools();

            if (message.Recipient == 0)
            {
                string output = JsonConvert.SerializeObject(message);
                DBtools.AddMessage(message);
                foreach (var user in Server.ConnectedUsers)
                {
                    if (user.TcpClient.Connected && !user.Name.Equals(message.SentByName))
                    {
                        try
                        {
                            var Writer = new NetworkIO(user.TcpClient);
                            Writer.Write(output);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                }
            }
            else
            {
                string output = JsonConvert.SerializeObject(message);

                for (int i = 0; i < ConnectedUsers.Count(); i++)
                {
                    if (message.Recipient == ConnectedUsers[i].Id && ConnectedUsers[i].TcpClient.Connected)
                    {
                        var Writer = new NetworkIO(ConnectedUsers[i].TcpClient);
                        Writer.Write(output);
                        DBtools.AddMessage(message);
                        break;
                    }
                    else
                    {
                    }
                }
            }
        }