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 skrive en enkel Console File Transfer Socket Program
    Opprette en enkel socket program som overfører en fil mellom to servere er en fin måte å utvide din kunnskap om socket programmering. En stikkontakt binder seg til en spesifikk port og kobles til en annen stikkontakt for å opprette en toveis forbindelse . For å sende en fil , må du opprette en socket, binde den , lytt etter en tilkobling, godta en tilkobling, og deretter sende den til den andre serveren - ved hjelp av " sendfile "-funksjonen . Instruksjoner
    en

    Åpne C -filen i din foretrukne integrert utviklingsmiljø .
    2

    Inkluder header-filer for å få tilgang til alle nødvendige datatyper og funksjoner , ved å legge inn følgende kode på toppen av filen : en

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

    Erklærer og initialisere variablene som er nødvendige for filoverføring socket, ved å legge inn følgende kode på toppen av din viktigste funksjon:

    int port = 4455 ; int sock_fd ; int sock_desc ; int file_fd ; struct stat stat_buf ; off_t file_offset = 0; røye filnavn [ PATH_MAX ]; struct addrinfo adr , * rs ; struct sockaddr_in ADDR1 ; int addrlen ;

    strcpy ( filnavn , " MINFIL.TXT ");
    4

    Initialiser adresse structs , ved å legge følgende kode :

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

    getaddrinfo ( NULL , port , og adr , og rs ) ;
    5

    Opprett en ny socket , fell stikkontakten og sett den til å lytte etter innkommende tilkoblinger , ved å legge følgende kode :

    sock_fd = socket ( rs- > ai_family , rs- > ai_socktype , rs- > ai_protocol ), bind ( sockfd , rs- > ai_addr , rs- > ai_addrlen ) , høre ( sock_fd , 1 ) ;
    6

    Lag en "mens " loop og vent for en innkommende tilkobling , ved å skrive følgende kode :

    while ( true) { sock_desc = akseptere ( sock_fd , ( struct sockaddr * ) & ADDR1 , og addrlen ) ;
    7 < p> Åpne filen du vil overføre og sende den med " sendfile "-funksjonen , ved å legge følgende kode :

    file_fd = open ( filnavn , O_RDONLY ) ; fstat ( file_fd , og stat_buf );

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

    Lukk filen , socket beskrivelse og kontakten når du er ferdig sender fil , ved å legge følgende kode :

    nær ( file_fd ), nær ( sock_desc ) ;}

    nær ( sock_fd ) ;
    9

    Lagre kildefilen . Kompilere og kjøre programmet for å sende en fil ved hjelp av en stikkontakt .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan bruke C Språk for å beregne rentes rente 
    ·Hvordan å kompilere C + + i JGrasp 
    ·Hvordan Sett verdien av en variabel i en streng C 
    ·Hvordan lage en Asterisk Space Pattern i C + + 
    ·Hva er Structural Syntax eller Oppbygging av C Programm…
    ·Hvordan Merge Unike heltall Algoritmer 
    ·Mobile C # Development Tutorial 
    ·Hvordan bruke bannere og klistremerker i GTK Radiant 
    ·Hvordan Bla til en rad i en DataGridView 
    ·Hvordan lage videospill med C + + 
      Anbefalte artikler
    ·Hvordan lage TNX Go Faster 
    ·Hvordan Synkroniser Køer Via XML - RPC i Python 
    ·Hvordan lage en kalkulator med Visual Basic 
    ·Hvordan Iterate en liste i JSP 
    ·Ved å bruke to lik i PHP 
    ·PHP Proxy Opplæring 
    ·Hvordan lage en digital klokke 
    ·Hvordan åpne et Word- dokument i Visual Basic 
    ·Hvordan sette Picture Eiendom til Ingen i Visual Basic 
    ·Hvordan du finner mangler Records Bruke SQL 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/