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 eenvoudige console File Transfer Socket programma Stuur
Het creëren van een eenvoudige socket programma dat een bestand overbrengt tussen twee servers is een geweldige manier om uw kennis van socket programmeren te breiden . Een socket bindt aan een specifieke poort en wordt aangesloten op een andere aansluiting op een twee-weg verbinding te maken . Om een bestand te verzenden , moet u een aansluiting maakt , binden , luister voor een verbinding , een verbinding te accepteren en dan stuur het naar de andere server - met behulp van de functie " sendfile " . Instructies
1

Open uw C -bestand in de gewenste geïntegreerde ontwikkelomgeving . Kopen van 2

Voeg de header bestanden voor toegang tot alle benodigde data types en functies , door toevoeging van de volgende code aan de bovenkant van uw dossier :

# include # include # include # include # include < sys /sendfile.h > # include # include # include # include # include < stdio . h > # include
3

Verklaar en initialiseren van de variabelen die nodig zijn voor de bestandsoverdracht socket , door toevoeging van de volgende code aan de bovenkant van uw belangrijkste functie : < br

int port > = 4455 ; int sock_fd int sock_desc int file_fd ; struct stat stat_buf ; off_t file_offset = 0 ; char file_name [ PATH_MAX ] ; struct addrinfo addr , * rs ; struct sockaddr_in addr1 ; int addrlen ; < br

strcpy > ( bestandsnaam , " myfile.txt " ) ;
4

Initialiseer het adres structs , door toevoeging van de volgende code :

memset
( & addr , 0 , sizeof addr ) ; addr.ai_family = AF_UNSPEC ; addr.ai_socktype = SOCK_STREAM ; addr.ai_flags = AI_PASSIVE ;

getaddrinfo
( NULL , port , en addr , & rs ) ;
5

Maak een nieuwe socket , binden het stopcontact en zet deze om naar te luisteren voor inkomende verbindingen , door toevoeging van de volgende code :

sock_fd = socket
( rs - > ai_family , rs - > Argumentenbuffer is te klein , rs - > ai_protocol ) , bind ( sockfd , rs - > ai_addr , rs - > ai_addrlen ) ; luister ( sock_fd , 1 ) ;
6

Maak een lus "terwijl" en wacht voor een inkomende verbinding , door het intikken van de volgende code :

while (true ) { sock_desc = accept ( sock_fd , ( struct sockaddr * ) & addr1 , & addrlen ) ;
7

Open het bestand dat u wilt overbrengen en stuur het met de functie " sendfile " , door toevoeging van de volgende code :

file_fd = open
( bestandsnaam , O_RDONLY ) ; fStat ( file_fd , & stat_buf ) ;

file_offset = 0
; sendfile ( sock_desc , file_fd , & file_offset , stat_buf.st_size ) ;
8

Sluit het bestand , socket descriptor en het stopcontact als je eenmaal klaar bent met het verzenden van de bestand , door toevoeging van de volgende code :

dicht
( file_fd ) ; dicht ( sock_desc ) ; }

dicht
( sock_fd ) ;
9

Sla het bronbestand . Compileren en uitvoeren van het programma om een ​​bestand met een aansluiting worden gestuurd .

Previous: Next:
  C /C + + Programming
·Hoe de code een C + + Wacht Fu…
·Hoe je Visual Studio gebruiken…
·Hoe maak je een X -en Y -tabel…
·Hoe maak je een switch zaak ge…
·Hoe kan ik een string omzetten…
·Functies activeren tellen in C…
·Wat zijn nuttig C + Compiler v…
·Hoe de Stack Implementeren ADT…
·Hoe maak je een string maken i…
  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 kan ik PHP gebruiken in een HTML- be…
·Hoe u een functie uit een string in Pyth…
·Hoe om te doen Conditionals in Python 
·Hoe maak je een rij in DataGridView toev…
·Android ' C ' Programming 
·Hoe kan ik een aanvraag voor een iPhone 
·Hoe maak je een vierkant Met behulp van …
·Hoe gebruik je een niet Operator in Java…
·Set Vs . Lijst in Java 
Copyright © Computer Kennis http://www.nldit.com