<commit_before>Assignment 3 for SYSC 4001
==========================

## Written by <NAME> & <NAME>

Part B files
============

* clientB.c
* serverB.c

Part C files
============

* clientC.c
* serverC.c
* ipcserverclient.h

Part D files
============

* clientD.c
* serverD.c
* ipcserverclient.h

Makefile
========

There is a make file included in this package, use it to build/compile the source code provided.
You can also use the Makefile to run the projects just run:

* For Part B (serverB.c)          $ make sb
* For Part B (clientB.c)          $ make cb

* For Part C (serverC.c)          $ make sc
* For Part C (clientC.c)          $ make cc
* For Part C (additional client)  $ ./clientC.out 42 123

* For Part D (serverD.c)          $ make sd
* For Part D (clientD.c)          $ make cd
* For Part D (additional client)  $ ./clientD.out 42 123

NOTE: Please notice that if you want to run an additional client, you must manually call the
command for it instead of relying on the Makefile to start it.
<commit_msg>Updated the README for how to run Part B<commit_after>Assignment 3 for SYSC 4001
==========================

## Written by <NAME> & <NAME>

Part B files
============

* clientB.c
* serverB.c

Part C files
============

* clientC.c
* serverC.c
* ipcserverclient.h

Part D files
============

* clientD.c
* serverD.c
* ipcserverclient.h

Makefile
========

There is a make file included in this package, use it to build/compile the source code provided.
You can also use the Makefile to run the projects just run:

* For Part B (serverB.c)          $ make sb
* For Part B (clientB.c)          $ make cb

* For Part C (serverC.c)          $ make sc
* For Part C (clientC.c)          $ make cc
* For Part C (additional client)  $ ./clientC.out 42 123

* For Part D (serverD.c)          $ make sd
* For Part D (clientD.c)          $ make cd
* For Part D (additional client)  $ ./clientD.out 42 123

NOTE: Please notice that if you want to run an additional client, you must manually call the
command for it instead of relying on the Makefile to start it.

Running Part B
==============

Start Part B server:              $ make sb
Start Part B client alongside:    $ make cb

Type text into the keyboard in the client. Then press enter when done typing.
This will send the message to the server (character-by-character), and once completed sending,
the message will be printed on the server, and then sent back to the client (again, character-by-character).

If you send "EXIT" as the message in the client to the server, it will quit the server and client.

Running Part C
==============

Start Part C server:              $ make sc
Start Part C client alongside:    $ make cc

{'fraction_non_alphanumeric': 0.12945103857566764, 'fraction_numerical': 0.01112759643916914, 'mean_word_length': 2.983751846381093, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '433176', 'n_tokens_mistral': 833, 'n_tokens_neox': 791, 'n_words': 378}