Referência do Arquivo cliente.c


Descrição Detalhada

Funções referentes ao core do cliente.

#include <cliente.h>

Funções

long long recebeMensagemSocket (int socket, char *buffer, int max, int thread_id)
 Função que recebe as requisições dos celulares.
int configuraSocketCliente (int socket)
 Função que configura o socket de um determinado cliente.
void coreCliente (threads_ctl_parm_t *arg)
 Função que trata as requisições dos celulares.
int splitString (int maxfields, char *str, char output[][512], char delimitador)
 Função auxiliar que faz o "split" de uma string.
int getToken (char *in, char *out, int token, char delimitador)
 Função que obtem um determinado token em uma string.
int trataComandoPost (char *str, int thread_id, int socket)
 Função que faz o tratamento de um comando do tipo POST.
int trataComandoGet (char *str, int thread_id, int socket)
 Função que faz o tratamento de um comando do tipo GET.
int enviarFinalLinha (int socket)
 Função que envia o caracter indicador de final de linha.
int enviaComando (int socket, char *buffer, int len, int thread_id, int confirmacao, int cabecalho)
 Função que envia uma determinada mensagem para o celular.
int enviaMensagem (char *vendedor_id, int socket, int thread_id)
 Função que envia uma mensagem do banco de dados para um determinado cliente.
int enviaDados (char *tabela, int socket, int thread_id)
 Função que envia os dados de um determinado cliente.


Funções

int configuraSocketCliente ( int  socket  ) 

Função que configura o socket de um determinado cliente.

Parâmetros:
socket Socket a ser configurado.
Retorna:
Status da configuração do socket
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

void coreCliente ( threads_ctl_parm_t *  arg  ) 

Função que trata as requisições dos celulares.

Função responsável por receber as requisições dos celulares, tratá-las executá-las.

Parâmetros:
arg Estrutura que contém as informações sobre o cliente.
Autor:
Daniel Matte Freitas

int enviaComando ( int  socket,
char *  buffer,
int  len,
int  thread_id,
int  confirmacao,
int  cabecalho 
)

Função que envia uma determinada mensagem para o celular.

Parâmetros:
socket Socket do cliente.
buffer Buffer contendo a mensagem a ser enviada.
len Tamanho do buffer a ser enviado.
thread_id ID da thread.
confirmacao Variável que indica a necessidade de recebimento pelo cliente.
cabecalho Variável que indica a necessidade de envio de cabeçalho junto a mensagem.
Retorna:
Status sobre o envio do comando
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int enviaDados ( char *  tabela,
int  socket,
int  thread_id 
)

Função que envia os dados de um determinado cliente.

Parâmetros:
tabela Tabela que contém as informações para determinado cliente.
socket Socket do cliente.
thread_id ID da thread.
Retorna:
Status sobre o envio dos dados
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int enviaMensagem ( char *  vendedor_id,
int  socket,
int  thread_id 
)

Função que envia uma mensagem do banco de dados para um determinado cliente.

Parâmetros:
vendedor_id ID do vendedor que está utilizando um determinado celular.
socket Socket do cliente.
thread_id ID da thread.
Retorna:
Status sobre o envio de mensagem
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int enviarFinalLinha ( int  socket  ) 

Função que envia o caracter indicador de final de linha.

Parâmetros:
socket Socket do cliente.
Retorna:
Status do envio do caracter.
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int getToken ( char *  in,
char *  out,
int  token,
char  delimitador 
)

Função que obtem um determinado token em uma string.

Recebe uma string como parâmetro e obtem um determinado token, indicado pelo número. Ex.: String: "Daniel Matte Freitas" token 0 = Daniel, token 1 = Matte e token 2 = Freitas.

Parâmetros:
in String de entrada.
out Token obtido.
token Número do token.
delimitador Delimitador para dividir a string.
Retorna:
Status sobre a procura do token
Valores Retornados:
1 SUCESSO
0 Falha
Autor:
Daniel Matte Freitas

long long recebeMensagemSocket ( int  socket,
char *  buffer,
int  max,
int  thread_id 
)

Função que recebe as requisições dos celulares.

Função responsável por receber as requisições dos celulares e validá-las de acordo com seu cabeçalho.

Parâmetros:
socket Socket para leitura.
buffer Buffer onde será armazenada a mensagem
max Tamanho máximo a ser escrito no buffer.
thread_id ID da thread que solicitou a query.
Retorna:
Tamanho da mensagem recebida
Valores Retornados:
Maior que zero
-1 Falha
Autor:
Daniel Matte Freitas

int splitString ( int  maxfields,
char *  str,
char  output[][512],
char  delimitador 
)

Função auxiliar que faz o "split" de uma string.

Parâmetros:
maxfields Número máximo de strings/campos a serem retornados.
str String a ser dividida.
output Matriz que armazenará as strings.
delimitador Delimitador para dividir a string.
Retorna:
Número de campos obtidos.
Autor:
Daniel Matte Freitas

int trataComandoGet ( char *  str,
int  thread_id,
int  socket 
)

Função que faz o tratamento de um comando do tipo GET.

Parâmetros:
str String referente ao comando.
socket Socket do cliente.
thread_id ID da thread.
Retorna:
Status do atendimento da requisição
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int trataComandoPost ( char *  str,
int  thread_id,
int  socket 
)

Função que faz o tratamento de um comando do tipo POST.

Parâmetros:
str String referente ao comando.
socket Socket do cliente.
thread_id ID da thread.
Retorna:
Status do atendimento da requisição
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas