| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    Comment écrire un programme Socket File Transfer Console Simple
    Création d'un programme de prise simple qui transfère un fichier entre deux serveurs est un excellent moyen d'étendre vos connaissances de la programmation de sockets . Une douille se lie à un port spécifique et se connecte à une autre prise pour créer une connexion bidirectionnelle . Pour envoyer un fichier , vous devez créer une socket, lier , d'écouter pour une connexion, acceptez la connexion , puis l'envoyer à l'autre serveur - en utilisant la fonction " sendfile " . Instructions
    1

    Ouvrez votre fichier C dans votre environnement de développement intégré préféré .
    2

    inclure les fichiers d'en-tête pour accéder à tous les types et les fonctions de données nécessaires , en ajoutant le code suivant au début de votre fichier : Photos

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

    déclarer et initialiser les variables nécessaires à la prise de transfert de fichier , en ajoutant le code suivant au début de votre fonction principale :

    int port = 4455 ; int sock_fd ; int sock_desc ; int file_fd ; struct stat stat_buf ; off_t file_offset = 0; caractères nom_fichier [ PATH_MAX ] ; struct addrinfo adr , * rs ; struct sockaddr_in addr1 ; int addrlen ; < br >

    strcpy ( nom_fichier , " monfichier.txt ");
    4

    initialiser la struct d'adresses, en ajoutant le code suivant :

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

    getaddrinfo (NULL , le port, et adr , & rs ) ;
    5

    Créer un nouveau socket, bind la prise et le mettre à l'écoute de toutes les connexions entrantes , en ajoutant le code suivant :

    sock_fd = socket ( rs- > ai_family , rs- > ai_socktype rs- > ai_protocol ) ; bind ( sockfd , rs- > ai_addr , rs- > ai_addrlen de la structure ) ; écouter ( sock_fd , 1);
    6

    créer une boucle "while" et attendre pour une connexion entrante , en tapant le code suivant :

    while ( true) { sock_desc = accept ( sock_fd , (struct sockaddr *) & addr1 , et addrlen ) ;
    7 < p> Ouvrez le fichier que vous souhaitez transférer et l'envoyer avec la fonction " sendfile " , en ajoutant le code suivant :

    file_fd = open ( nom_fichier , O_RDONLY ) ; fstat ( file_fd , et stat_buf ) ; Photos

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

    fermez le fichier , descripteur prise et la prise une fois que vous avez terminé l'envoi de la fichier, en ajoutant le code suivant :

    proche ( file_fd ) ; close ( sock_desc );}

    proche ( sock_fd ) ;
    9

    Enregistrez le fichier source . Compiler et exécuter le programme pour envoyer un fichier en utilisant une prise de courant.

    Previous :

    next :
      articles connexes
    ·Comment désactiver Silverlight Boutons 
    ·Ligne C + + Formation 
    ·Comment rechercher une liste chaînée d'éléments en …
    ·Comment envoyer un Socket du texte en UDP sur Linux 
    ·Comment faire pour augmenter la valeur d'un pointeur da…
    ·C Tutoriel: Types de données 
    ·Objectif des méthodes CString 
    ·Comment faire une chaîne en un tableau en C + + 
    ·Exigences pour un SDK iTouch 
    ·Comment faire un factorielle en RPC 
      articles en vedette
    ·Comment calculer les voyelles en Python 
    ·Les erreurs de syntaxe dans les instructions SQL 
    ·Comment faire pour utiliser des séquences Oracle 
    ·Comment faire pour utiliser Visual Basic pour créer et…
    ·Comment sortie d'une chaîne en Java 
    ·Comment faire pour utiliser des étiquettes en Perl 
    ·Comment calculer la longueur de la chaîne 
    ·Faire un organigramme 
    ·Comment formater la date à partir DateChooser dans Fla…
    ·Comment saisir la clé d'enregistrement dans Reason 4.0…
    Copyright © Connaissances Informatiques http://fr.wingwit.com