4 Declare a variáveis necessárias para criar um pacote TCP /IP , adicionando o seguinte código na sua função:
struct addrinfo dicas , * res ;
int socket_descriptor ;
o " addrinfo " estruturas irá armazenar o valor de retorno da função " getaddrinfo " . O " socket_descriptor " é o descritor inteiro que a função de "socket " retornará
5
inicializar as variáveis , adicionando o seguinte código: .
Memset (& dicas , sugestões , 0 sizeof );
hints.ai_family = AF_UNSPEC ;
hints.ai_socktype = SOCK_STREAM ;
o valor " AF_UNSPEC " especifica que a família de endereços para a função " getaddrinfo " pode ser qualquer tipo válido, como IPv4 ou IPv6. O " SOCK_STREAM " indica um soquete de fluxo TCP
6
Chame a função " getaddrinfo " , adicionando o seguinte código: .
Getaddrinfo ( " www.server.com ", " 3490 ", e sugestões , & res );
substituir" www.server.com " com o servidor que você deseja se conectar . Substitua o " 3490 ", com a porta que você vai se conectar. A função " getaddrinfo " coleta informações independente de protocolo sobre o endereço de seu nome de host , o que ele retorna em " addrinfo " estruturas.
7
Cria um socket TCP /IP com a função de " socket" , adicionando o seguinte código:
socket_descriptor = socket (res -> ai_family , res -> ai_socktype , res -> ai_protocol );
a função " socket" utiliza as informações retornado da função " getaddrinfo " para criar uma tomada completa
8
Conecte-se ao servidor remoto com a função "connect" , adicionando o seguinte código: .
conectar ( socket_descriptor , res -> ai_addr , res -> ai_addrlen );
a função "connect" leva o seu socket, envia para o endereço especificado e cria uma conexão ativa com o host
9.
Salve o arquivo , compilar e executar o seu programa para criar o pacote TCP /IP.