These are the multithreaded TCP server and client applications written in C for Linux environment. Programs support authentication and message encryption(base64). When connection between server and client is established, send and receive functions run on different thread so main loop keeps running for new connections.
While compiling, you need to specify the libraries that used for multithreading and cryptography.
$ gcc ChatServer.c -o ChatServer -lpthread -lssl -lcrypto
$ gcc ChatClient.c -o ChatClient -lpthread -lssl -lcrypto
$ ./ChatServer [Port Number]
In another terminal:
$ ./ChatClient [Port Number] [username] [password]
If your username and password didn't defined in "login.txt", you won't be able to connect to server.
For any questions, you can mail me: mmozcan4@gmail.com.