| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come scrivere una semplice console di File Transfer Programma Socket
    Creazione di un programma di presa semplice che consente di trasferire un file tra due server è un ottimo modo per ampliare le vostre conoscenze di programmazione dei socket . Una presa si lega a una porta specifica e si connette a un'altra presa per creare una connessione bidirezionale . Per inviare un file , è necessario creare un socket , legarlo , ascoltare per una connessione , accettare la connessione e poi inviarlo a un altro server - utilizzando la funzione " sendfile " . Istruzioni
    1

    Aprire il file C nell'ambiente di sviluppo integrato preferito .
    2

    includere i file di intestazione per accedere a tutti i tipi di dati necessari e le funzioni , aggiungendo il seguente codice nella parte superiore del file :

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

    dichiarare e inizializzare le variabili necessarie per la presa di trasferimento di file , aggiungendo il seguente codice nella parte superiore della tua funzione principale : < 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 > ( nome_file , " myfile.txt ");
    4

    Inizializzare le struct di indirizzo , con l'aggiunta del seguente codice :

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

    getaddrinfo ( NULL , porto, & addr , & rs ) ;
    5

    Creare un nuovo socket , legano la presa e impostarlo per l'ascolto di tutte le connessioni in ingresso , aggiungendo il seguente codice :

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

    Creare un ciclo "while" e attendere per una connessione in entrata , digitando il seguente codice :

    while (true ) { sock_desc = accept ( sock_fd , ( struct sockaddr * ) & addr1 , & addrlen ) ;
    7 < p > Aprire il file che si desidera trasferire e inviarlo con la funzione " sendfile " , aggiungendo il seguente codice :

    file_fd = open ( nome_file , O_RDONLY ) ; fstat ( file_fd , e stat_buf ) ;

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

    chiudere il file descrittore di socket e la presa una volta che hai finito di inviare il di file , aggiungendo il seguente codice :

    vicino ( file_fd ) ; close ( sock_desc );}

    vicino ( sock_fd ) ;
    9

    Salvare il file sorgente . Compilare ed eseguire il programma per inviare un file tramite un socket .

    Previous :

    next :
      Articoli Correlati
    ·Come leggere una stringa in C 
    ·C per Strcmp Funzione 
    ·Come per rilevare una perdita di memoria in Windows con…
    ·Come visualizzare una virgola in C + + 
    ·Come imparare Visual C + + 
    ·Come formattare i numeri di Fibonacci in C + + 
    ·Come ottenere un numero pari a CPP 
    ·Processore Tutorial cellulare 
    ·Come leggere Numero Hex + C + 
    ·Come chiudere i programmi iPad con Xcode 
      Articoli in evidenza
    ·Come codice Java Boxes 
    ·Come per inserire, aggiornare e Delete in VB.NET 
    ·Come convertire Lettere a binario 
    ·Tutorial per Microsoft Visual Studio 
    ·Come convertire AWT a Swing 
    ·Come imparare Java 6 
    ·Come integrare Android con Eclipse 
    ·Come chiarire un Listbox in Python 
    ·Come fare un programma a scelta multipla di test in C 
    ·Come spostarsi tra i fotogrammi in Java 
    Copyright © Conoscenza Informatica http://it.wingwit.com