Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment convertir une chaîne d'enti…
  • Qu'est-ce que Buffer Overrun 
  • Comment faire pour obtenir la ligne …
  • Comment écrire une histoire de jeu …
  • Comment trouver Reste à C 
  • Comment construire logique de progra…
  • Comment écrire Octets de tableau d'…
  • Comment créer un fichier texte en u…
  • Comment créer DropDownList Avec Clé…
  • Comment compiler C + + avec FStream 
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    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.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment lire dans les chaînes dans un tableau C + + 
  • Comment faire pour déplacer un objet par glisser dans XCode 
  • Comment désosser sur Visual C 
  • Comment créer un vecteur de chaînes en C + + 
  • Comment faire une chaîne C 
  • Comment faire un bouton poussoir Invisible dans Visual C 
  • Comment placer entiers dans l'ordre croissant en utilisant C + + 
  • Comment lire un fichier CBZ 
  • Comment ajouter des décimales en C + + 
  • Comment faire pour modifier SQL sur un iPhone 
  • Connaissances Informatiques © http://www.ordinateur.cc