Sockets är ett sätt att överföra data med normerna för ett Unix fildeskriptor . En Unix filbeskrivare är ett heltal som är associerad med en öppen fil , och gör att operativsystemet kan komma åt den . Under Unix OS , är allt en fil , även nätverksanslutningar . Hylsor är specialiserade för Internet-kommunikation . När du använder sockets i ditt program , måste du ställa in ett antal byte att ta emot data . Detta kallas en buffert. Den C + + -funktionen " recv ( ) " kan du ställa upp en buffert för att ta emot data från en socket . Saker du behöver
C + + Integrated Development Environment ( IDE ) , t.ex. Eclipse CDT
C + + kompilator , en sådan GCC
Visa mer Instruktioner
1
Ladda C + + IDE genom att klicka på dess programikon . När det öppnas , välj " Arkiv /Nytt /Project " och välj " C + +-projekt " för att skapa en ny C + + projektet . En tom källkod filen visas i textredigeraren delen av IDE
2
Lägg till följande två "Inkludera " direktiv till toppen av källkoden filen : . # Include < sys /typer . h > # include Addera 3 Bekanta dig med funktionen signatur för " recv ( ) . " Objekten i parentes kallas parametrar , och de är oftast används som ett sätt att mata in data till en funktion. Den första parametern är " int s , " som hänvisar till heltal identifierare för uttag du vill ta emot data från . Den andra parametern är en pekare till bufferten som lagrar alla mottagna data , och den tredje parametern är längden av bufferten i byte. Den fjärde och sista parametern är " flaggor "-parametern , som kan förändra beteendet hos funktionen. Avkastningen för den här funktionen är " ssize_t , " och det returnerar antalet mottagna byte , eller " -1 " om ett fel uppstår .
Ssize_t recv ( int s , void * buf , size_t len , int flaggor) ;
4
Skapa en array av " röding " datatyper , som är garanterade att vara minst ett byte lång . Den exakta längden beror på detaljerna i ditt system , men i allmänhet en " röding " är en byte , eller åtta bitar , långa . Skriv följande för att deklarera en array med 256 " röding " datatyper :
char buffer [ 256 ] ;
5
Skapa en variabel som lagrar antalet mottagna byte . Detta är det värde som returneras av funktionen " recv ( ) , " och det är användbart för att avgöra när bufferten är nästan full , eller om ett fel har inträffat . Skriv följande för att skapa denna variabel :
int fått = 0;
6
Anslut till nätverket platsen med hjälp av en hylsa . En socket är bara ett heltal , och kan förklaras så här :
int socket ,
7
anropa funktionen " recv ( ) " med hjälp av variabler deklarerade hittills . Att använda " recv ( ) " med sitt förvalda beteende , ställa flaggan till
mottog = recv ( socket , buffert , sizeof ( buffert ) , 0 ) " 0 . ";
8
Kompilera och kör programmet . Programmet sätter upp ett område i minnet och ordnar det för att ta emot data från en socket . Det anropar sedan " recv ( ) " -funktion , vilken tar emot data från uttaget .