HW12/README.md
2020-12-07 10:49:29 +00:00

43 lines
1.0 KiB
Markdown

# HW12
Homework
To build source, you should install `build-essential`.
Usage:
```bash
./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
- `-nv` or `--no-verbose` :no progress bar
- `-t [number]` or `--thread [number]` :set to thread number.
- `-q` or `--quiet` :no stdout
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)
- USE_TRACE
- USE_NO_QUEUE
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)