Soquete Unix - Funções auxiliares

Este capítulo descreve todas as funções auxiliares, que são usadas durante a programação de soquetes. Outras funções auxiliares são descritas nos capítulos -Ports and Servicese rede Byte Orders.

A função de escrita

A função de gravação tenta gravar nbyte bytes do buffer apontado por buf para o arquivo associado ao descritor de arquivo aberto, fildes .

Você também pode usar a função send () para enviar dados para outro processo.

#include <unistd.h>

int write(int fildes, const void *buf, int nbyte);

Após a conclusão bem-sucedida, write () retorna o número de bytes realmente gravados no arquivo associado a fildes. Este número nunca é maior que nbyte. Caso contrário, -1 é retornado.

Parâmetros

  • fildes - É um descritor de socket retornado pela função de socket.

  • buf - É um ponteiro para os dados que você deseja enviar.

  • nbyte- É o número de bytes a serem gravados. Se nbyte for 0, write () retornará 0 e não terá outros resultados se o arquivo for um arquivo normal; caso contrário, os resultados não são especificados.

A função de leitura

A função read tenta ler nbyte bytes do arquivo associado ao buffer, fildes, no buffer apontado por buf.

Você também pode usar a função recv () para ler dados para outro processo.

#include <unistd.h>

int read(int fildes, const void *buf, int nbyte);

Após a conclusão bem-sucedida, write () retorna o número de bytes realmente gravados no arquivo associado a fildes. Este número nunca é maior que nbyte. Caso contrário, -1 é retornado.

Parâmetros

  • fildes - É um descritor de socket retornado pela função de socket.

  • buf - É o buffer para ler as informações.

  • nbyte - É o número de bytes a serem lidos.

A função fork

A função fork cria um novo processo. O novo processo denominado processo filho será uma cópia exata do processo de chamada (processo pai). O processo filho herda muitos atributos do processo pai.

#include <sys/types.h>
#include <unistd.h>

int fork(void);

Após a conclusão bem-sucedida, fork () retorna 0 para o processo filho e o ID do processo filho para o processo pai. Caso contrário, -1 é retornado ao processo pai, nenhum processo filho é criado e errno é definido para indicar o erro.

Parâmetros

  • void - Isso significa que nenhum parâmetro é necessário.

A função bzero

A função bzero coloca nbyte bytes nulos na string s . Esta função é usada para definir todas as estruturas de socket com valores nulos.

void bzero(void *s, int nbyte);

Esta função não retorna nada.

Parâmetros

  • s- Especifica a string que deve ser preenchida com bytes nulos. Este será um ponto para a variável de estrutura do socket.

  • nbyte- Especifica o número de bytes a serem preenchidos com valores nulos. Este será o tamanho da estrutura do soquete.

A função bcmp

A função bcmp compara a string de bytes s1 com a string de bytes s2. Assume-se que ambas as strings têm nbyte bytes.

int bcmp(const void *s1, const void *s2, int nbyte);

Esta função retorna 0 se ambas as strings são idênticas, 1 caso contrário. A função bcmp () sempre retorna 0 quando nbyte é 0.

Parâmetros

  • s1 - Especifica a primeira string a ser comparada.

  • s2 - Especifica a segunda string a ser comparada.

  • nbyte - Especifica o número de bytes a serem comparados.

A função bcopy

A função bcopy copia nbyte bytes da string s1 para a string s2. Strings sobrepostas são tratadas corretamente.

void bcopy(const void *s1, void *s2, int nbyte);

Esta função não retorna nada.

Parâmetros

  • s1 - Especifica a string de origem.

  • s2v - Especifica a string de destino.

  • nbyte - Especifica o número de bytes a serem copiados.

A função memset

A função memset também é usada para definir variáveis ​​de estrutura da mesma forma quebzero. Dê uma olhada em sua sintaxe, fornecida abaixo.

void *memset(void *s, int c, int nbyte);

Esta função retorna um ponteiro para void; na verdade, um ponteiro para a memória do conjunto e você precisa classificá-la de acordo.

Parâmetros

  • s - Especifica a fonte a ser definida.

  • c - Especifica o caractere a ser definido em locais de nbyte.

  • nbyte - Especifica o número de bytes a serem definidos.