System Programming in C, Server and Multiple Client with using multi thread
Budget: $30 – $250 USD
Everything in C
### Project
- [ ] The server side should be capable of handling multiple clients simultaneously, functioning as a
multi-threaded internet server.
- [ ] Upon establishing a connection with the server, the directories on both the server and client sides need to be synchronized
- [ ] your server should also maintain a logfile under the respective client's directory.
- [ ] This logfile should record the names and access times of created,
deleted, and updated files
- [ ] Handle SIGINT signal on both the server and client sides
- [ ] working format should be like this: **./BibakBOXServer [directory] [threadPoolSize] [portnumber] for example: ./BibakBOXServer /home/user/Documents 10 8080**
- [ ] where the directory is the server's specific area for file operations, threadPoolSize is the
maximum number of threads active at a time, portnumber is the port server will wait for
connection
- [ ] An example call from the client might be in this format: ./**BibakBOXClient [dirName] [portnumber]**
- [ ] where dirName is the name of the directory on server side and portnumber is the connection
port of the server
- [ ] the client should return with a proper message when the server is, and server should prompt a message when a client connection is accepted (with the address of connection) to the screen.
- [ ] All of these with C programming language
### Test Cases and Report
- [ ] Test your code with multiple (10, 20, 50) clients, reconnect to see if the server updates the
client information properly
- [ ] Check what happens when a new file is added, edited or removed
on the client size when the client server connection is still active
- [ ] Check what happens when a new file is added, edited or removed
on the client size when the client server connection is still active
### Project
- [ ] The server side should be capable of handling multiple clients simultaneously, functioning as a
multi-threaded internet server.
- [ ] Upon establishing a connection with the server, the directories on both the server and client sides need to be synchronized
- [ ] your server should also maintain a logfile under the respective client's directory.
- [ ] This logfile should record the names and access times of created,
deleted, and updated files
- [ ] Handle SIGINT signal on both the server and client sides
- [ ] working format should be like this: **./BibakBOXServer [directory] [threadPoolSize] [portnumber] for example: ./BibakBOXServer /home/user/Documents 10 8080**
- [ ] where the directory is the server's specific area for file operations, threadPoolSize is the
maximum number of threads active at a time, portnumber is the port server will wait for
connection
- [ ] An example call from the client might be in this format: ./**BibakBOXClient [dirName] [portnumber]**
- [ ] where dirName is the name of the directory on server side and portnumber is the connection
port of the server
- [ ] the client should return with a proper message when the server is, and server should prompt a message when a client connection is accepted (with the address of connection) to the screen.
- [ ] All of these with C programming language
### Test Cases and Report
- [ ] Test your code with multiple (10, 20, 50) clients, reconnect to see if the server updates the
client information properly
- [ ] Check what happens when a new file is added, edited or removed
on the client size when the client server connection is still active
- [ ] Check what happens when a new file is added, edited or removed
on the client size when the client server connection is still active