Homework
Go to file
2020-12-05 18:48:49 +00:00
.vscode add threadpool server 2020-12-05 01:30:30 +00:00
.gitignore add macro to change setting 2020-12-04 08:33:41 +00:00
client.c chg high resolusion timer 2020-12-05 18:45:00 +00:00
hw12.c add base 2020-12-03 23:06:26 +00:00
LICENSE Initial commit 2020-12-04 07:28:31 +09:00
Makefile add slowclient 2020-12-05 02:13:13 +00:00
p-client.c chg high resolusion timer 2020-12-05 18:45:00 +00:00
p-server.c add DEFAULT_RESPONSE_REQUEST 2020-12-05 17:39:15 +00:00
pctest.sh add slow client 2020-12-04 10:10:40 +00:00
pstest.sh add threadpool server 2020-12-05 01:30:30 +00:00
README.md add client nogui mode 2020-12-05 17:55:36 +00:00
server.c fix help return and detail err 2020-12-05 18:48:49 +00:00
simple_circular_buffer.h add threadpool server 2020-12-05 01:30:30 +00:00
socket_wrapper.c add threadpool server 2020-12-05 01:30:30 +00:00
socket_wrapper.h add macro to change setting 2020-12-04 08:33:41 +00:00

HW12

Homework

To build source, you should install build-essential.

Usage:

./server [OPTION]...
./client SERVERNAME PORT [option] [FILENAME]...

Server OPTION and arguments:

  • -p port :set to port binding. couldn't set to 0
  • -h or --help :print help message.

Client option and arguments:

  • -b or --benchmark :benchmark mode
  • --nogui :no progress bar

Available macro:

For server

  • DEFAULT_MAX_LISTEN_SOCKET: 16
  • DEFAULT_SERVER_PORT: 9091
  • DEFAULT_MAX_PATH_SIZE: 256(must be less than 1000)
  • USE_SENDFILE
    • DEFAULT_SEND_FILE_CHUNK_SIZE: 0x100000(1MB)
  • DEFAULT_WORK_QUEUE_SIZE(server only): 10
  • DEFAULT_MAX_THREAD_NUMBER(server only): 10
  • DEFAULT_RESPONSE_REQUEST(p-server only): 3(-1 is INF)

For client

  • MUL_CLIENT(second unit)
  • SLOW_CLIENT(microsecond unit, (buf_size/SLOW_CLIENT) bytes/usec)
  • DEFAULT_PROGRESS_BAR_WIDTH: 30

For both

  • TIMEOUT: 5(second unit)