In this exercise you must program a chat server + a chat client.
Transport protocols must be TCP.
Client program must have simple (ugly??) have a graphical user interface. Use WPF, not Windows Store App, since many network related API's can not be used from Windows Store Apps.
One chat server can be used by multiple clients. The clients sends messages to the server - and the server sends each message to all the clients.
Before you start progamming, you probably have to make a few sketches using pen and paper: Try to sketch the communication between the client(s) and the server.
The easiest design is probably to have long TCP connections:
Messages are not send to all clients, but only to client who are members of a specific group/room.
One popular chat protocol is IRC (Internet Relay Protocol): RFC 1459, May 1993 (newer versions do exist)
Investigate this protocol and let it inspire you in defining your own chat application.
Try to redesign the chat to use short TCP connections like Echo and HTTP/1.0.
Try to make an UDP version of the chat ...
In this version you can make a simple drawing and all other clients see the drawing ...