Programar em C/Sockets: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 6:
 
<source lang="C">
 
int accept(int, struct sockaddr *restrict, socklen_t *restrict);
int bind(int, const struct sockaddr *, socklen_t);
Linha 30 ⟶ 29:
</source>
 
==Famílias de endereço==
Existem varias famílias de endereço e cada uma corresponde a um protocolo em particular.<br>
As famílias mais usadas são :<br>
 
<b>AF_UNIX</b>: Protocolo interno do UNIX<br>
<b>AF_INET</b>: Protocolo Internet <br>
<b>AF_NS </b> : Protocolo de Xerox NS <br>
 
==Estruturas de endereço==
Varias chamada ao sistema de redes do unix precisam apontar para uma estrutura de endereço de socket.<br>
A definição dessas estruturas esta definida dentro do cabeçalho <sys/socket.h>.<br>
<source lang="C">
struct sockaddr {
u_short sa_family ;
char sa_data[14] ;
} ;
</source>
sa_family: Família de endereço leva o valor AF_xxx .<br>
sa_data: endereço especifico de protocolo .<br><br>
 
Para a família internet as estrutura estão definidas dentro do cabeçalho <netinet/in.h>.<br>
<source lang="C">
struct in_addr {
u_long s_addr ;
} ;
</source><br>
<source lang="C">
struct sockaddr_in {
short sin_family ;
u_short sin_port ;
struct in_addr sin_addr ;
char sin_zero[8] ;
} ;
</source>
{{AutoCat}}