4 Verklaar de variabelen die nodig is om een TCP /IP-pakketten te creëren door het toevoegen van de volgende code in je functie :
struct addrinfo hints
, * res ;
int socket_descriptor
;
de " addrinfo " structs zal de return waarde van de functie " getaddrinfo " slaan . De " socket_descriptor " het gehele getal descriptor die de functie " socket " zal terugkeren
5
Initialiseer de variabelen door toevoeging van de volgende code : .
Memset
( & hints , 0 , sizeof hints ) ;
hints.ai_family
= AF_UNSPEC ;
hints.ai_socktype = SOCK_STREAM ;
de " AF_UNSPEC " waarde geeft aan dat het adres van familie voor de functie " getaddrinfo " kan zijn gegronde type, zoals IPv4 of IPv6 . De " SOCK_STREAM " duidt op een TCP socket
6
Roep de functie " getaddrinfo " door toevoeging van de volgende code : .
Getaddrinfo
( " www.server.com " , " 3490 " , & hints , & res ) ;
Vervang " www.server.com " met de server waarmee u verbinding wilt maken . Vervang " 3490 " met de poort die u zal verbinden . De functie " getaddrinfo " verzamelt protocol - onafhankelijke informatie over een adres van de hostnaam , waardoor het terugkeert in de " addrinfo " structs .
7
Maak een TCP /IP- socket met de functie " socket " , door toevoeging van de volgende code :
socket_descriptor
= socket ( res - > ai_family , res - > Argumentenbuffer is te klein , res - > ai_protocol ) ;
de functie " socket " maakt gebruik van de informatie terug van de functie " getaddrinfo " naar een volledige aansluiting te creëren
8
maak verbinding met de externe server met de functie " connect " door toevoeging van de volgende code : .
connect
( socket_descriptor , res - > ai_addr , res - > ai_addrlen ) ;
de functie " connect" neemt je socket , stuurt het naar het opgegeven adres en creëert een actieve verbinding met de host
9 .
Sla het bestand op , compileren en uitvoeren van uw programma om de TCP /IP-pakket te maken .