Sockets er en måte å overføre data ved hjelp av standarder for en Unix fil beskrivelse . En Unix filen beskrivelse er et heltall som er knyttet til en åpen fil , og gjør at operativsystemet tilgang til den. Under Unix OS , alt er en fil , selv nettverkstilkoblinger . Sockets er spesialisert for Internett-kommunikasjon. Når du bruker kontakter i programmet, må du sette opp et antall byte for å motta data . Dette kalles en buffer . The C + + funksjon " recv ( ) " lar deg sette opp en buffer for å motta data fra en stikkontakt. Du trenger
C + + Integrated Development Environment ( IDE ), for eksempel Eclipse CDT
C + + Compiler , slik GCC
Vis flere Instruksjoner
en
Load den C + + IDE ved å klikke på programmets ikon. Når den åpnes, velger du "Fil /Ny /Project" og velg " C + + Project" for å opprette en ny C + + prosjekt . En tom kildekoden filen vises i teksteditoren delen av IDE
2
Legg til følgende to " inkluderer " direktiver til toppen av kildekoden filen: . # Include < sys /typer . h> # include
3 Gjør deg kjent med funksjonen signatur for " recv ( ) . " er elementene i parentes kalt parametre , og de er vanligvis anvendes som en måte å legge inn data i en funksjon . Den første parameteren er " int s ", som refererer til heltall identifikator for kontakten du vil motta data fra . Den andre parameteren er en peker til den buffer som lagrer eventuelle mottatte data , og den tredje parameteren er lengden av buffer i byte. Den fjerde og siste parameter er " flagg " parameter, noe som kan endre oppførselen til funksjonen. Avkastningen type for denne funksjonen er " ssize_t ", og den returnerer antall byte som mottas , eller " -1" hvis en feil oppstår .
Ssize_t recv ( int s , ugyldig * buf , size_t len , int flagg );
4
Lag en rekke " røye " datatyper, som er garantert å være minst én byte lang. Den nøyaktige lengden avhenger av de nærmere detaljer om systemet ditt , men generelt en " røye " er en byte , eller åtte biter , lange . Skriv følgende for å erklære en rekke 256 " røye " datatyper : en
røye buffer [ 256 ];
5
Lag en variabel som lagrer antall mottatte byte. Dette er verdien som returneres av funksjonen " recv ( ) ", og det er nyttig for å bestemme når bufferen er nesten full, eller hvis en feil har oppstått. Skriv følgende for å opprette denne variabelen : en
int mottatt = 0;
6
Koble til nettverket sted ved hjelp av en stikkontakt. En socket er bare et tall , og kan bli erklært som dette : en
int socket ;
7
Påberope funksjonen " recv ( ) " ved hjelp av variabler deklareres så langt. For å bruke " recv ( ) " med sin standard oppførsel , setter flagget til
mottatt = recv ( socket , buffer, sizeof (buffer ) , 0 ) " 0 ". ;
8 < p> Kompiler og kjør programmet . Programmet setter opp et område i minnet og klargjør den for å motta data fra en stikkontakt. Det kaller deretter " recv ( ) "-funksjonen , som mottar data fra sokkelen .