4 Erklærer variabler som trengs for å skape et TCP /IP-pakke ved å legge følgende kode i funksjon din :
struct addrinfo hint, * res ;
int socket_descriptor ;
" addrinfo " structs vil lagre avkastningen verdien av " getaddrinfo "-funksjonen . Den " socket_descriptor " er heltall beskrivelse som den " kontakten " funksjonen vil returnere
5
Initialiser variabler ved å legge følgende kode: .
Memset (& hint, 0 , sizeof hint ) ;
hints.ai_family = AF_UNSPEC ;
hints.ai_socktype = SOCK_STREAM ;
" AF_UNSPEC " verdien angir at adressen familien for " getaddrinfo "-funksjonen kan være noen gyldig type, for eksempel IPv4 eller IPv6. Den " SOCK_STREAM " indikerer en TCP stream socket
6
Ring " getaddrinfo "-funksjonen ved å legge følgende kode: .
Getaddrinfo ( " www.server.com ", " 3490 ", og hint, og res) ;
Erstatt" www.server.com " med serveren du vil koble til . Erstatt " 3490 " med porten du vil koble til . Den " getaddrinfo "-funksjonen samler protokoll - uavhengig informasjon om en adresse fra sin vert navn, som den returnerer i " addrinfo " structs .
7
Lag en TCP /IP socket med " socket "-funksjonen , ved å legge følgende kode :
socket_descriptor = socket (res - > ai_family , res - > ai_socktype , res - > ai_protocol ) ;
" socket "-funksjonen bruker informasjonen returnert fra " getaddrinfo " funksjonen for å lage en komplett socket
8
Koble til den eksterne serveren med " connect "-funksjonen ved å legge følgende kode: .
connect ( socket_descriptor , res - > ai_addr , res - > ai_addrlen ) ;
" connect "-funksjonen tar kontakt , sender det til den angitte adressen og skaper en aktiv forbindelse med verten
ni .
Lagre filen , kompilere og kjøre programmet for å opprette TCP /IP-pakke.