A C networking project implementing a line-based client/server chat protocol with user registration, message queues, validation, and error handling.
- Register a client under a username
- List connected users
- Queue messages between users
- Retrieve queued messages
- Validate sender identity and message length
- Handle duplicate users, malformed requests, and disconnects
Messages use a newline-delimited text protocol, for example:
register:ansh
message:ansh:sam:Hey Sam
getMessage
list
quit
C, socket programming, client/server protocols
The implementation source is kept private; this repository documents the protocol and behavior.