bcssocket/README.md

86 lines
2.1 KiB
Markdown

# BCSSolver
BCSSocket (Bottler Client-Server Socket)
## Tabla de contenidos
- [Requisitos <a name="requisitos"></a>](#requisitos-)
- [Compilación <a name="compilación"></a>](#compilación-)
- [Ejecución <a name="ejecución"></a>](#ejecución-)
- [Testeos <a name="tests"></a>](#testeos-)
- [Limpieza <a name="limpieza"></a>](#limpieza-)
## Requisitos <a name="requisitos"></a>
Debe instalar gcc y make. Estos se encuentran disponibles en el repositorio de la vasta mayoría de distribuciones de Linux/macOS.
Debian/Ubuntu: `apt install gcc make`\
macOS (con [homebrew](https://brew.sh/)): `brew install gcc make`
Si tiene otra distribución consulte cómo hacerlo.
## Compilación <a name="compilación"></a>
Para compilar todos los archivos se debe hacer:
```bash
make all
```
## Ejecución <a name="ejecución"></a>
Ahora, tendrá dos ejecutables: `client` y `server`. Note que primero debe correr el `server` y luego conectarse con el `client`.
```bash
./server
```
y en otra terminal
```bash
./client
```
Debe notar que el `server` usará el puerto 8080 de localhost (por default) por lo que si tiene algún otro servidor en ese puerto debe cerrarlo antes de correrlo. Asimismo, si usted quiere modificar este puerto y/o la dirección del servidor lo puede hacer mediante:
```bash
./server -a ${address} -p ${port}
```
## Testeos <a name="tests"></a>
En orden de realizar un análisis estático del sistema usted debe tener instalado [cppcheck](http://cppcheck.net/) y [pvs-studio](https://pvs-studio.com/). Luego, puede correrlos con:
```bash
make test
```
Por último, si quiere hacer un análisis dinámico (usando [valgrind](https://valgrind.org/)) puede hacerlo mediante:
```bash
valgrind ./server
```
y en otra terminal
```bash
valgrind ./client
```
## Limpieza <a name="limpieza"></a>
Si desea borrar los archivos creados luego de la compilación debe correr:
```bash
make clean
```
Note que si, además, quiere borrar el output de los tests (de PVS-Studio específicamente), lo puede hacer con:
```bash
make cleanTest
```
# Autores
- Barmasch, Juan Martín (61033)
- Bellver, Ezequiel (61268)
- Lo Coco, Santiago (61301)