https://github.com/infinitemarcus/java-file-sending
Aplicações TCP e UDP em Java para envio/recebimento de arquivos
https://github.com/infinitemarcus/java-file-sending
Last synced: 11 months ago
JSON representation
Aplicações TCP e UDP em Java para envio/recebimento de arquivos
- Host: GitHub
- URL: https://github.com/infinitemarcus/java-file-sending
- Owner: InfiniteMarcus
- Created: 2021-08-03T18:47:27.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-03T20:24:53.000Z (almost 5 years ago)
- Last Synced: 2025-06-05T07:44:27.058Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 59.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java-File-Sending
Este repositório possui dois tipos de aplicações cliente-servidor de envio/recebimento de arquivos em Java, uma com implementação utilizando o protocolo **TCP** e uma com **UDP**.
## Propósito
Estas aplicações foram desenvolvidas para estudar e comparar as diferentes implementações de serviços da camada de transporte de redes na linguagem Java.
É conhecido que o protocolo TCP possui diversas vantagens sobre o UDP, principalmente em termos de retransmissão de dados e controle de fluxo. No entanto, também é comumente notável que a maior robustez deste primeiro protocolo tende a gerar maiores tempos de execução que o segundo.
Este repositório, então, representa uma pequena prova de conceito desta diferenciação entre ambos.
## Execução
Para executar os códigos, basta entrar no diretório `src`, escolher entre `tcp` ou `udp` e executar separadamente os códigos cliente e servidor.
Para o cliente, na pasta `cliente`:
```sh
javac Cliente.java
java Cliente
```
Para o servidor, na pasta `servidor`:
```sh
javac Servidor.java
java Servidor
```
## Comparação
Para comparar as diferentes implementações, foram coletados os dados de tempo de execução entre elas, tanto ao enviar arquivos quanto receber. Estes valores, em milisegundos, foram agrupados em gráficos de dispersão. As médias e desvios padrão também foram calculados.
Todos os dados estão na pasta `comp`, na planilha `data.xls`.
## Imagens
Gráficos de comparação de envio de arquivos:

Gráficos de comparação de recebimento de arquivos:

## Autor
* Marcus Vinícius N. Garcia ([Infinitemarcus](https://github.com/Infinitemarcus))