Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hvordan å rense en Mottaksbuffer Socket i C
    Når du mottar data fra en stikkontakt inn i en buffer , er det viktig å oppdage når kontakten lukker , slik at du ikke venter for flere pakker på ubestemt tid . Windows Sockets API ( Winsock ) gir et grensesnitt for C-program til å samhandle med den underliggende TCP /IP -protokollene . Samle verten serveren , opprette en socket , koble den til verten og deretter motta data med " recv "-funksjonen inn i en buffer før du får en feilmelding eller " TCP FIN "-melding. Instruksjoner
    en

    Åpne C -filen i et redigeringsprogram , for eksempel Microsoft Visual Studio Express.
    2

    inkluderer toppen da nødvendig for å jobbe med kontakter og filer ved å legge følgende kode på toppen av filen : en

    # include

    # include

    # include

    3

    Hent vertsinformasjonen med " getaddrinfo "-funksjonen ved å legge følgende kode i funksjon din : en

    struct addrinfo hint , * res ;

    int SFD ;

    røye buffer [ 512 ];

    int nrecv ;

    memset (& hint, 0 , sizeof hint ) ;

    hints.ai_socktype = SOCK_STREAM ;

    hints.ai_family = AF_UNSPEC ;

    getaddrinfo ( " www.server.com ", " 3500 " , og hint , og res) ;

    Sett host adresse " www.server.com " og resten av " 3500 " med informasjonen til serveren du kobler til . Den " SOCK_STREAM " verdien angir kontakten vil bruke TCP, som er en pålitelig toveis forbindelse
    4

    Lag en stikkontakt med verten informasjon ved å legge følgende kode: .

    SFD = socket (res - > ai_family , res - > ai_socktype , res - > ai_protocol ) ;
    5

    Koble kontakten med " connect "-funksjonen , bruker filen beskrivelse fra " socket "-funksjonen , ved å legge følgende kode :

    connect ( SFD , res - > ai_addr , res - > ai_addrlen ) ;
    6

    åpne en fil for å skrive til med den " fopen "-funksjonen ved å legge følgende kode:

    FILE * fp ;

    fp = fopen ( " file.rar ", " wb ");
    7 < p> Motta informasjon i buffer med " recv "-funksjonen ved å legge følgende kode:

    int num_written = 0;

    while ( ( nrecv = recv ( SFD , buffer, sizeof buffer, 0 ) ) > 0 ) {

    røye * pbuf = buffer;

    while ( nrecv > 0 ) {

    num_written = fwrite ( pbuf , sizeof ( røye ) , nrecv , fp ) ;

    pbuf + = num_written ;

    nrecv - = num_written ;

    }

    }

    sløyfen vil fortsette å motta informasjon til en feil , som returnerer en negativ verdi , eller til den mottar en "TCP FIN "-melding , som har en verdi på 0 .
    8

    Lagre C -filen , kompilere og kjøre programmet for å motta informasjon fra socket-tilkobling .

    früher :

     Weiter:
      Relatert Artike
    ·Hvor å Endre AppDelegate i en iPhone 
    ·Hvordan lage en Memory Pointer i C 
    ·Etter Velge en dato i Brennvidde Picker , hvordan kan d…
    ·Hvordan å kompilere CPP Ved hjelp av Visual Studio 
    ·Hvordan legge til Gridview 
    ·Slik bruker du en Ring Buffer 
    ·Hvordan bruke negative tall i C 
    ·Hvor å Endre Borland C + + Rediger Screens 
    ·Grunnleggende om Embedded Systems i C 
    ·Hvordan finne antall forekomster av en karakter i en St…
      Anbefalte artikler
    ·Hvordan Graf i PHP 
    ·Hvordan lage en tittel på en side klikkbare Gjennom PH…
    ·Safe Browsing API for Python 
    ·Hvordan lage en fane i Python 
    ·Visual Basic ListView Tutorial 
    ·Hvordan lage Overlappende CSS Divs Flytt Together 
    ·Hva er flernettverksvert i Java 
    ·Tekst funksjon i VBA 
    ·Hvordan bruke Progress Bar i VB 
    ·Slik viser Wingdings på et tastatur 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/