This project implements Java socket interaction protocol to allow network chat from multiple clients. It is split into three separate modules for each part of the program, one for Server, one for Client, and the Transferable package for serializable classes used for communication between the two programs. Data is transferred from client to server using multithreading and sockets to accept objects. The project includes a Client and Server GUI (in .form format) to test the code.
In order to compile and test the GUI, it is necessary to open the project in a relatively new version of IntelliJ IDEA (free to download at https://www.jetbrains.com/idea/ ). If this is not possible, contact me for a recently built JAR artifact that includes the IntelliJ dependencies for testing.