constructing a network server. This consists of convincing multiple servers to work together, it is your responsibility to ensure that you have implemented the whole server as specified.
The challenge is set up so that it gives you the opportunity to showcase your skills at system program- ming in a POSIX1 environment. Indeed, you must implement the server as a UNIX service (“daemon”) and you further must use the POSIX API provided by the UNIX standard C library. Therefore your server must be written in C or C++.
The following configuration parameters are .
• bp is the port number for client-server communication (positive integer), see Section1;
• sp is the port number for inter-server communication (positive integer), see Section2;
bbfile is the name of the bulletin board file that will be manipulated throughout this project (string), see Section1;
• Tmax is the number of preallocated threads (positive integer), see Section1.4;
peers the list of peers participating in synchronization (possibly empty list of pairs host name–port number), see Section2;
• d is a Boolean flag controlling the startup of the server, see Section1.5;
• D is a Boolean flag controlling debugging facilities, see Sections1.3(last paragraph) and3.2.
1 Phase 1: A Bulletin Board Server
construct a simple bulletin board server. The server accepts one-line messages from multiple clients, stores them in a local file, and serves them back on request. The name of the file is given by the parameter bbfile. Messages are identified upon storage by an unique number established by the server, and by the “sender” of the message (as provided by the USER command explained below).
The clients connect to our server on port bp. We also assume a production environment so that we implement concurrency control.
Bu iş için 10 freelancer ortalamada $482 teklif veriyor
I have a full time work experience for 12 years in C/C++ in wireless telecom software development. Already worked on multiple server client architecture using sockets and other ipc based on requirement.