Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2016
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Envoie de plusieurs fichiers avec TCP

    Bonjour,

    Je souhaite créer un petit serveur TCP avec l'utilisation des sockets en C.
    Pour cela j'aimerais savoir comment puis-je envoyer des données stockées dans des fichiers textes, sur un socket en particulier.
    Peut-on appeler la fonction send() autant de fois que l'on souhaite avec des tailles de buffer différentes ?
    Le fonctionnement est-il similaire pour l'envoi de données binaire ?

    Merci par avance.

  2. #2
    Membre expert
    Inscrit en
    mars 2005
    Messages
    1 352
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 1 352
    Points : 3 962
    Points
    3 962

    Par défaut

    Tu peux appeler send autant de fois que tu le veux avec n'importe quelles données, les séquences d'octets seront concaténées dans l'ordre des appels. Il t'appartient ensuite de démultiplexer et / ou réorganiser ces données à l'autre bout du fil.

    Il n'y a pas de différence entre le texte et le reste, les bits sont des bits et send et recv ne font pas d'interprétation.

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    5 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 5 475
    Points : 23 787
    Points
    23 787

    Par défaut

    TCP envoie un buffer arbitraire d'octets, sa signification et son traitement sont à ta discrétion. Tout ce que tu envoies par send sera mis en file interne avant d'être transférées.
    Un problème typique c'est que le buffer à la sortie est continu, tu dois donc avoir des mécanismes pour délimiter les données et les traiter correctement.

    Tu as plusieurs sujets sur ce forum qui ont déjà posé la question https://www.developpez.net/forums/d1...e-via-sockets/
    Et j'en parle plus en détails ici, ici ou encore ici.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/04/2007, 17h11
  2. Télécharger plusieurs fichiers avec Wget
    Par Guilhem_mdg dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 21/02/2007, 17h12
  3. Réponses: 6
    Dernier message: 14/11/2006, 11h35
  4. [C#] Compresser plusieurs fichiers avec GZipStream, help
    Par TheParadoX dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/08/2006, 11h19
  5. Zipper plusieurs fichiers avec Abbrevia TP
    Par alex4 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 17/11/2004, 09h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo