| 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
    Hvordan man skriver en simpel konsol File Transfer Socket Program
    Oprettelse af en simpel socket program , der overfører en fil mellem to servere er en fantastisk måde at udvide din viden om socket programmering. En stikdåse binder til en bestemt port og opretter forbindelse til en anden stikkontakt for at skabe en to-vejs forbindelse. Hvis du vil sende en fil , skal du oprette en socket, binde den , lytte til en forbindelse , acceptere en forbindelse , og derefter sende det til den anden server - ved hjælp af " sendfile "-funktionen . Instruktioner
    1

    Åbn din C -filen i din foretrukne integreret udviklingsmiljø .
    2

    Medtag headerfiler få adgang til alle nødvendige datatyper og funktioner , ved at tilføje følgende kode i toppen af ​​din fil : Hej

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

    Erklær og initialisere variabler er nødvendige for filoverførslen socket, ved at tilføje følgende kode i toppen af ​​dine vigtigste funktion: < 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 ( file_name " myfile.txt ");
    4

    Initialiser adresse structs , ved at tilføje følgende kode : Hej

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

    getaddrinfo ( NULL , havne , & adr , & rs) ;
    5

    Opret en ny sokkel , binde stikket og sæt den til at lytte til eventuelle indgående forbindelser , ved at tilføje følgende kode : Hej

    sock_fd = socket (rs -> ai_family , RS- > ai_socktype , rs- > ai_protocol ) bind ( sockfd , RS- > ai_addr , RS- > ai_addrlen ) lyt ( sock_fd , 1 ),
    6

    Opret en " mens" loop og vente for en indgående forbindelse , ved at skrive følgende kode : Hej

    while ( true) { sock_desc = accept ( sock_fd ( struct sockaddr * ) & addr1 , & addrlen )
    7 < p> Åbn den fil, du vil overføre og sende det med " sendfile "-funktionen ved at tilføje følgende kode : Hej

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

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

    Luk filen , socket -deskriptor og stikkontakten, når du er færdig sender fil ved at tilføje følgende kode : Hej

    tæt ( file_fd ), tæt ( sock_desc );}

    tæt ( sock_fd )
    9

    Gem kildefilen . Kompilere og køre programmet til at sende en fil ved hjælp af en stikkontakt.

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan Embed RESX i CSC Compiler 
    ·Sådan installeres Microsoft Visual C + + 
    ·C Tutorial : Datatyper 
    ·Sådan Skriv din egen Computerspilprogram 
    ·Formål CString Methods 
    ·Hvordan at begrænse antallet af decimaler i C + + 
    ·Sådan bruges Variable parameter-funktioner i C + + 
    ·Hvordan man laver en Quiz i C + + 
    ·Hvordan man laver en mappe i C + + 
    ·Hvordan man lærer C + + 
      Anbefalede Artikler
    ·Sådan kører en Python script Uden Python 
    ·Sådan Erstat symboler med Regex 
    ·Visual Basic LINQ Tutorial 
    ·Anvendelse af Visual Basic 
    ·Sådan Flet et array i Python 
    ·Sådan redigeres notesblok med VB6 
    ·Sådan Beregn procentdelen af ​​ændring i PHP og MySQL…
    ·Sådan opretter en sagsmappe i TASM 
    ·Sådan bruges DirListBox i VB6 
    ·Sådan Opret din hjemmeside med PHP 
    Copyright © Computer Viden http://www.computerdk.com