| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Sådan Purge en Modtag Buffer Socket i C
    Når du modtager data fra en stikkontakt i en buffer , er det vigtigt at opdage, når stikket lukkes , så du ikke venter yderligere pakker på ubestemt tid. Windows Sockets API ( winsock ) giver en grænseflade til dit C-program til at interagere med den underliggende TCP /IP protokol stakken . Saml værten serverens information , oprette en socket, slutte den til værten og derefter modtage data med "Modtag " funktion i en buffer , indtil du får en fejl, eller "TCP FIN " budskab. Instruktioner
    1

    Åbn dit C -filen i en editor såsom Microsoft Visual Studio Express.
    2

    Medtag overskrifter er nødvendige for at arbejde med stikkontakter og filer ved at tilføje følgende kode i toppen af ​​din fil : Hej

    # include

    # include

    # include < br >
    3

    Hent værten oplysninger med " getaddrinfo "-funktionen ved at tilføje følgende kode i din funktion : Hej

    struct addrinfo hints , * res ;

    int SFD ;

    char buffer [ 512 ]

    int nrecv ,

    memset (& hints , 0 , sizeof hints ),

    hints.ai_socktype = SOCK_STREAM ;

    hints.ai_family = AF_UNSPEC ,

    getaddrinfo ( " www.server.com ", " 3500 " , og hints , og RES)

    Udskift host -adresse " www.server.com " og havnen i " 3500 " med oplysningerne for den server , du opretter forbindelse til. Den " SOCK_STREAM " værdi angiver stikket vil bruge TCP, hvilket er en pålidelig tovejs -forbindelse
    4

    Opret en sokkel med værten oplysninger ved at tilføje følgende kode : .

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

    Tilslut stikket med " connect "-funktionen , ved hjælp af file descriptor fra " socket " funktionen ved at tilføje følgende kode : Hej

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

    Åben en fil til at skrive til med de " fopen "-funktionen ved at tilføje følgende kode : Hej

    FILE * fp ;

    fp = fopen ( " file.rar ", " wb ");
    7 < p> Modtage oplysninger i bufferen med "Modtag "-funktionen ved at tilføje følgende kode : Hej

    int num_written = 0;

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

    char * pbuf = buffer ,

    while ( nrecv > 0) {

    num_written = fwrite ( pbuf , sizeof (char ) , nrecv , fp ),

    pbuf + = num_written ,

    nrecv - = num_written ,

    }

    }

    loop vil fortsætte med at modtage oplysninger, indtil en fejl , som returnerer en negativ værdi , eller indtil den modtager et "TCP FIN "-meddelelse , som har en værdi på 0. .
    8

    Gem C -filen , kompilere og eksekvere programmet for at modtage oplysninger fra stikkontakten forbindelsen.

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan Debug med DBX 
    ·Hvordan kan jeg Fix en Visual Studio 6.0 T-SQL Debugger…
    ·Sådan konvertere en streng til en Chart i C + + 
    ·Sådan oprettes en tekstboks i Visual C # 
    ·Sådan bruges strncmp Funktion i C + + 
    ·Sådan Split en FLAC fil med Dev -C + + 
    ·Sådan Split en streng i C 
    ·Hvordan man opbygger en Asterisk Tree i C + + 
    ·Sådan bruges dato og tid i en C + + Program 
    ·Hvordan laver Cin.Fail 
      Anbefalede Artikler
    ·Sådan Gennemgå Input i Java fra tastaturet 
    ·Sådan Indsæt Records i Java 
    ·Hvordan kan jeg læse en tekst linje for mange variable…
    ·Java substring Funktion 
    ·Sådan fjernes SVN historie i Eclipse 
    ·Hvad er en java.rmi.RemoteException 
    ·Sådan Læs & Skriv til RichTextBox i VB6 
    ·Sådan Indsæt Into Python Lister 
    ·Konvertering af en negativ værdi for at Positiv i C + …
    ·Sådan oprettes en todimensional Java String Array for …
    Copyright © Computer Viden http://www.computerdk.com