Skip to content

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.

Notifications You must be signed in to change notification settings

billDrett/Bulletin-Boards

Repository files navigation

Bulletin Boards

![alt tag](https://github.com/billDrett/Bulletin-Boards/blob/master/Diagram.png?raw=true)

Introduction

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.

Compile

Make command to compile and make clean to remove all object files.

Run

To run the server
./board path
For example:
./board ./myboard

To run the client
./boardPost ./path
For example:
./boardPost ./myboard

Functionality

Board

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

    BoardPost

    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

    About

    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.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published