A client-server user-level chat application using Socket Programming in C.The server and client processes can run on same or different machines. Multiple client processes can connect to the same server but only one can chat with server at a time. Messages are end-to-end encrpyted using a simple algorithm for generating public key,private key pair.
C programming, Socket programming, End-to-end encryption
To compile server.c and client.c
gcc server.c -o server
gcc client.c -o client
To start server, PORT number is to be given as argument(ex. 9999)
./server PORT_NUMBER
To execute the client process, the IP address and PORT number of server is to be passed as command line argument.
./client IP_ADDR_OF_SERVER PORT_NUMBER
Choose a username of your choice and start chatting