O projeto consiste em uma servido TCP, que fica esperando um cliente TCP se conectar e permite que o cliente execute duas ações LIST e RELAY, no qual:
- LIST é para listar todos os IDs dos clientes TCP conectados
- RELAY retorna para todos os clientes conectados, os dados enviados por um cliente
-
Clone esse repositorio
- Via HTTP
git clone https://github.com/RickChaves29/tcp_connection.git - Via SSH
git@github.com:RickChaves29/tcp_connection.git
- Via HTTP
-
Ainda no terminal, copie a variável de ambiente que está no arquivo .env.example e cole no arquivo .bashrc ou .profile adicionando a palavra chave export antes.
OBS: O Arquivo .bashrc fica na pasta raiz do seu úsuario
- Exemplo no WSL ou linux
export SERVER_PORT='<numero da porta>'
-
Voltando para pasta onde você clonou o projeto rode os seguintes comandos:
- Baixar todas as dependências
go mod download - Rodar o projeto
go run server/main.go
OBS: caso não tenha setado a variavel de ambiente use o comando
export SERVER_PORT='<numero da porta>' && go run server/main.go - Baixar todas as dependências
-
Puxe a imagem no Docker Hub
docker pull rickchaves29/tcp_server:<tag de versão> -
Crie um container baseado na imagem
docker run --name 'name of container' -e SERVER_PORT='<numero da porta>' \ -p 4040:'<numero da porta>'/tcp rickchaves29/tcp_server:'tag version'