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); } } }
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 { } }
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 { } } } }