Our goal for this project was to implement global chatroom between multiple clients and to implement private DM services between multiple clients.
- Compile our files using
make - run
./clientand./server <desired_username>in seperate terminals - run
./client <desired_username>in multiple seperate terminals with different users - To globally message every simply type
<desired_message>into the terminal and hit enter
- To privately direct message type
@<username> <desired_message>into the terminal and hit enter
To run our tests type and enter make test into the terminal and this will run and output the below cases:
- Test 1: Client connect to and send message to server
- Test 2: Concurrency test, 1 client makes no request for a few seconds, the other then connect and make requests.
- Test 3: Broadcast test, 3 clients connect, each client sends a message. Message should be seen by all 3 clients.
- Test 4: DM test. 3 clients connect, client A DM to client B, client C should not see message.
- Test 5: Test if more clients than MAX_CLIENTS attempt to connect.
- Test 6: Test if user tries to send a DM to an offline user.
- Test 7: Test if a client dms with an invalid id.
- Because of lack of UI, when you receive a message in the middle of writing your own, the received message interleave in your current message. Low priority because this seems to be client side functionality.
- we assume that a max number of users on a server is 10