This is a multithreaded messaging project written in C which works in local network. This project leverages multithreading to handle multiple client connections seamlessly.
With MultithreadedMessaging, you can:
- Login/Register: Access your messaging account.
- Manage Contacts: Add and view contacts in your personal list.
- Instant Messaging: Send and receive messages with anyone in your contact list.
The project is organized as follows:
server.out
: The server executable.client.out
: The client executable.users.txt
: Stores all registered users in the system.data/
: The main directory for user data.user_idX/
: Unique user directory (X represents the user ID)contacts.txt
: User's contact list.messages/
: Contains message data.user_idY.txt
: Messages exchanged with user Y.messages.txt
: Stores new and old message notifications.
To start using MultithreadedMessaging: (You can use the compile
file. Be careful with file names, this is a Linux guideline)
- Compile the source code to generate
server.out
andclient.out
. - Run
server.out
to start the server. - From another terminal execute
client.out X
on client machines to connect to the server. (X represents user IDs) - Follow the on-screen prompts to register or log in.
- Begin messaging!
Contributions to MultithreadedMessaging are welcome! Whether it's feature requests, bug reports, or code contributions, your input is valuable. Please read our contributing guidelines for more information.