Gör ett fristående program med ett grafiskt användargränssnitt som implementerar en chat-server som kan sända och ta emot text-meddelanden. Chat-servern ska använda stream-sockets.
Chat-servern ska kunna ta emot begäran om uppkoppling från nya chat-klienter och placera alla chat-klienter i en egen tråd för att kunna ta emot ytterligare chat-klienter. Varje chat-klient-tråd ligger och väntar på att en chat-klient ska skicka ett text-meddelande. När så sker så ska chat-servern "broadcasta" detta meddelande till samtliga chat-klienter. Chat-servern måste således hålla reda på alla anslutna chat-klienter i någon datasamling.
Alla text-meddelanden som sänds från chat-klienterna ska visas en en lämplig swing-komponent, exempelvis en text-area. För samtliga text-meddelanden så ska följande skrivas ut i denna swing-komponent:
Chat-servern ska gå att starta på två sätt:
java Server
(då ska port default bli 2000)java Server <port>
Efter detta ska chat-servern göra sig redo för att ta emot förfrågningar om anslutning från chat-klienter. Om detta lyckas så ska det i chat-serverns titelrad stå den host och port som chat-servern kör på samt antalet chat-klienter som är uppkopplade.
Observera! Chat-servern ska upptäcka när en klient inte längre är ansluten och då ta bort den ur datasamlingen och döda tråden (eventuellt kan tråden döda sig själv).