Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe maak je een Receive Buffer Socket in C Purge
Wanneer u gegevens ontvangt van een stopcontact in een buffer , is het belangrijk om te detecteren wanneer de socket gesloten , zodat u niet te wachten op extra pakketten voor onbepaalde tijd . De Windows Sockets API ( winsock ) biedt een interface voor uw C -programma om te communiceren met de onderliggende TCP /IP protocol stack . Verzamel informatie van de host- server , maak een stopcontact , sluit deze aan op de host en vervolgens ontvangt gegevens met de functie " recv " in een buffergeheugen totdat u een fout of " TCP FIN " -bericht ontvangt . Instructies
1

Open uw C -bestand in een editor zoals Microsoft Visual Studio Express . Kopen van 2

Neem de headers noodzakelijk om te werken met sockets en bestanden door het toevoegen van de volgende code aan de bovenkant van uw dossier :

# include

# include

# include < br >
3

Haal de gastheer informatie met de functie " getaddrinfo " door toevoeging van de volgende code in je functie :

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 " , & hints , & res ) ;

Vervang de host- adres van " www.server.com " en de haven van " 3500 " met de informatie voor de server waarmee u verbinding maakt . De " SOCK_STREAM " waarde geeft de socket zal TCP , dat is een betrouwbare twee-weg verbinding te gebruiken
4

Maak een stopcontact met de host gegevens door toevoeging van de volgende code : .

sfd = socket ( res - > ai_family , res - > Argumentenbuffer is te klein , res - > ai_protocol ) ;
5

Verbind de aansluiting met de functie " connect " , met behulp van de file descriptor van de " socket functie " , door toevoeging van de volgende code :

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

Open een bestand te schrijven met de " fopen " functie door het toevoegen van de volgende code :

FILE
* fp ;

fp = fopen
( " file.rar " , " WB " ) ;
7

ontvangen informatie in de buffer met de functie " recv " door toevoeging van de volgende code :

int num_written = 0 ;

terwijl ( ( nrecv = recv ( sfd , buffer , sizeof buffer , 0 ) ) > 0 ) {

char * pbuf = buffer
;

terwijl ( nrecv > 0 ) {

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

pbuf
= num_written + ;

nrecv
- = num_written ;

}


}

De lus zal blijven ontvangen informatie tot een fout , die een negatieve waarde geeft , of totdat het een " TCP FIN " -bericht , waarbij een waarde van 0 heeft ontvangt .
8

Sla het bestand C , compileren en uit te voeren het programma om informatie te ontvangen van de socket -verbinding .

Previous: Next:
  C /C + + Programming
·Xcode Text Editor Tutorial 
·Hoe maak je een . CPP compiler…
·Wat is WinAC & Kernel Mode? 
·Hoe je C # leren voor beginner…
·Windows Mobile C Compiler Opti…
·Hoe te snijcirkels Berekenen i…
·Hoe maak je een GPA Calculator…
·Hoe te Matrices Groeien in C +…
·Hoe te Pointers toewijzen 
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe je het aantal kolommen in een tabel …
·Hoe je alle Zeros Verwijder uit de lijst…
·Hoe kan ik PHP gebruiken met JavaScript 
·Hoe te Priemfactoren van een Integer in …
·Hoe SQL 2005 Express op Windows Vista in…
·Visual Basic Property Bag Tutorial 
·Hoe maak je een Effect File voor XNA Gam…
·Hoe te converteren naar Boolean in Pytho…
·Hoe te Python Bytecode Uitvoeren 
Copyright © Computer Kennis https://www.nldit.com