
A multi-process application with the use of named pipes and Low-Level I/O. Clients communicate with a server with named pipes and gives commands to write text, send files (etc images), create channels while others can read and download them. Also a bash script to monitors which processes of Bulletin Boards app are running and which have stoped.
Make command to compile and make clean to remove all object files.
To run the server
./board path
For example:
./board ./myboard
To run the client
./boardPost ./path
For example:
./boardPost ./myboard
By running the board process a new board is created(or connected if it aldready exists) in the path which was given as an attribute. A board can have a lot of channels for
receiving files(the files are send throught named pipes).
The files are then saved to the disk and the messages are printed to the stdin.
Commands
createchannel id name
Creates a new chanel to the board with id being the identifier and the name of the channel.
getmessages
Prints the messages of a channel and the files are saved to the disk, if the file already exists it add an extension at the name of the file.
exit
closes the client while the server is still running(I use fork to create a server and a client)
shutdown
Terminates the server
By running the boardPost process the user is connected with a board server and can send files and messages throught the named pipes.
Commands
list
Prints all the available channels
write id message
Send a message at the channel with id
send id file
Sends a file to the channel with id