gustavooquinteiro / ftapp Goto Github PK
View Code? Open in Web Editor NEWAplicação de transferência de arquivos emulando camadas da pilha de protocolos TCP/IP
License: MIT License
Aplicação de transferência de arquivos emulando camadas da pilha de protocolos TCP/IP
License: MIT License
Implementar camada de rede
Implementar o protocolo de transferência de dados segura na sua versão 3.0 na camada de transporte
Criar e manter uma conexão somente para controle de dados no cliente e no servidor
Criar o struct do pacote FTP em transport.h
Criar função para aceitar conexões de clientes
Criar a função de envio de arquivo que servirá como callback ao ser clicado no botão de enviar.
Criar função para receber arquivos enviados do cliente
Aplicar o estilo de formatação de código definido ao código escrito.
Utilizar a branch formatting para fazer isso
snake_case
PascalCase
int min(int i, int j)
{
if (i > j) return j;
else return i;
}
int fatorial(int n)
{
int fatorial = 1
for (int i = 1; i < n + 1; i++)
fatorial *= i;
return fatorial;
}
#define
, structs e variáveis globais devem ser alinhados de acordo com o maior nome, com TAB, assim:#define PORT 8074
#define CONTROL_PORT 8090
#define PKG_SIZE 10000
struct segment
{
uint32_t seq_number;
uint16_t orig_port;
uint16_t dest_port;
uint16_t checksum;
uint8_t flags;
uint8_t data[DATA_SIZE];
};
//Variáveis globais
pthread_t KERNEL;
int END_KERNEL = FALSE;
int USER_TYPE;
uint16_t REAL_SENDER_PORT;
uint16_t REAL_RECEIVER_PORT;
Inserir espaços:
(
, exemplo:switch (a)
if (a < b) a++;
for (int i = 0; i < a; i++)
while (a > 10)
if (a == b) return a
if ((a < b && b == a) || a > c) return a
,
int a = a + (i * b) % a
if (a == NULL) return -1;
a = b + a;
*
do lado do tipo, exemplo: int* array = a;
TYPE* var = (TYPE*) malloc(sizeof(TYPE));
int a
;📚 Conhecimento em Markdown são requeridos
⚠️ Trabalhar na branch documentation
Adicionar label nomeando cada campo de entrada na interface
Criar a interface da aplicação de acordo o requisitado
Atrelar a função send_package() em client.c ao botão da interface
Retirar os penis vide user_interface.c
Implementar tréplica do cliente na apresentação de três vias
Consertar label do caminho do arquivo escolhido de modo que:
Criar uma conexão para controle de transferência dos arquivos utilizando a biblioteca pthread do C
Implementar réplica do servidor na apresentação de três vias
Criar função de criação de conexão a partir do cliente para o servidor
Criar função que vincula uma porta à um servidor
Criar funções de envio e recebimento de pacotes na camada de enlace
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.