p2p-chatroom
The chat application consists of only one distributed component: chat peer. A chat peer is a Java program that acts as both a client and a server in the decentralized system. Chat peers can concurrently connect to a remote peer or accept multiple incoming connections via TCP sockets with thread-per-connection architecture.