IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Réseau C Discussion :

Récupération des données dans un serveur et les envoyer dans un réseau local en UDP


Sujet :

Réseau C

  1. #21
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par roujiC Voir le message
    je suis sous linux mais le programme que je vien de te donner et un programme qui est executé comme serveur et mon client et une autre application qui sera lancé dans le meme systeme avec une adresse IP local 127.0.0.1
    Un serveur qui a une adresse fixe ? C'est contre les principes de bases des architectures client/serveur... En tout cas, ça ne définit pas d'adresse client. On envoie donc n'importe où...

    J'ai pourtant expliqué qu'un serveur ne pouvait pas émettre spontanément à un client. Il ne peut que répondre. Ca ne peut donc pas fonctionner en serveur. Par contre, en client, ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    #include <string.h>
    #include <stdio.h>
    #include <stdlib.h>
     
    /* http://delahaye.emmanuel.free.fr/clib/ */
    #include "psock/inc/psock.h"
     
    #define port 1234
     
    int main_ (void)
    {
       FILE *fichier;
       char buffer[1024];
       SOCKET sock;
       int sock_err;
     
    /*Creation de la  socket*/
     
       sock = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP);
       if (sock == INVALID_SOCKET)
       {
          printf ("socket()");
          exit (1);
       }
     
    /*création de la connexion */
    /* Initialisation */
       SOCKADDR_IN sin = { 0 };
     
       sin.sin_addr.s_addr = inet_addr ("127.0.0.1");
       sin.sin_family = AF_INET;
       sin.sin_port = htons (port);
     
    /*ouvrire le fichier out.ts */
     
    /* rb = lecture en mode byte */
       fichier = fopen ("out.ts", "rb");
       if (fichier == NULL)
       {
          printf ("erreur lors de l'ouverture du fichier out.ts\n");
          exit (1);
       }
     
       int n;
       while ((n = fread (buffer, 1, sizeof buffer, fichier)) > 0)
       {
     
    /* envoi d'un fragment du fichier pas tout le fichier*/
    /* le fichier n'est envoyé en intégrité qu'à la fin de la boucle*/
          sock_err =
             sendto (sock, buffer, n, 0, (struct sockaddr *) &sin, sizeof (sin));
       }
       fclose (fichier);
       printf ("Fermeture de la socket...\n");
       sock_err = closesocket (sock);
       printf ("Fermeture du serveur terminee\n");
     
       return 0;
    }
     
    int main (void)
    {
    #if defined (WIN32)
       WSADATA wsa_data;
       WSAStartup (MAKEWORD (2, 2), &wsa_data);
    #endif
     
       main_ ();
     
    #if defined (WIN32)
       WSACleanup ();
    #endif
       return 0;
     
    }
     
    /* 7 comments processed by CMT2 1.0 (c) ED 2007 */
    Non testé.

    Ce que je ne comprends pas, c'est que j'ai donné un exemple de client et un exemple de serveur UDP et que tu t'obstines à faire n'importe quoi.
    Pas de Wi-Fi à la maison : CPL

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 32
    Points : 10
    Points
    10
    Par défaut Récupération des données dans un serveur et les envoyer dans un réseau local en UDP
    je m'excuse pour mes erreurs sincérement je vous remercie pour votre aide et vos conseilles ils mon été d'une grande utilité, je vais essayé de tous revoir depuis le debut et je vous tien au courant pour d'évetuelle question merci a vous et aux membres du site

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 32
    Points : 10
    Points
    10
    Par défaut Récupération des données dans un serveur et les envoyer dans un réseau local en UDP
    Bonjour,
    je vous remercie pour votre aide ça marche tres bien, sinon je voulais ajouté un truc au programme pour géré l'envoi des donnée c-a-d envoyé 24Mbit/s, avez vous une idée comment faire poarceque je ne trouve pas pour le moment méme apres des recherches sur le net il y a rien qui ressemble a ce que je veux obtenir merci.

  4. #24
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par roujiC Voir le message
    sinon je voulais ajouté un truc au programme pour géré l'envoi des donnée c-a-d envoyé 24Mbit/s, avez vous une idée comment faire poarceque je ne trouve pas pour le moment méme apres des recherches sur le net il y a rien qui ressemble a ce que je veux obtenir merci.
    Tu veux afficher le débit, c'est ça ?

    Alors c'est quoi pour toi un débit ?
    Pas de Wi-Fi à la maison : CPL

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 32
    Points : 10
    Points
    10
    Par défaut Récupération des données dans un serveur et les envoyer dans un réseau local en UDP
    je ne veux pas afficher le début je vais te cité un exemple ( j'ai un fichier de 1G je veux envoyé se fichier morceau par morceau et cette envoi est géré par le temps c-a-d a chaque une seconce j'envoi 10Mb) merci j'éspere avoir été claire

  6. #26
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par roujiC Voir le message
    je ne veux pas afficher le début
    J'ai écrit "débit' ...

    je vais te cité un exemple ( j'ai un fichier de 1G je veux envoyé se fichier morceau par morceau et cette envoi est géré par le temps c-a-d a chaque une seconce j'envoi 10Mb) merci j'éspere avoir été claire
    Non pas du tout, mais je suppose que tu veux afficher le débit (x kb/s) ou le temps restant etc. C'est ça ?
    Pas de Wi-Fi à la maison : CPL

  7. #27
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 74
    Points : 56
    Points
    56
    Par défaut
    je pense qu'il veut contrôler le debit, si c'est ça alors je ne sais pas comment, mais essaye de calculer le temps de chaque envoi si cest trop rapide fait une pause sinon continue.

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 32
    Points : 10
    Points
    10
    Par défaut Récupération des données dans un serveur et les envoyer dans un réseau local en UDP
    oui voila je veux controller le débit, j'ai fait des pause sleep() dans la boucle du programme.
    sleep il est en second ou en milliseconde?

    merci et desoler pour la faute de lecture

  9. #29
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par roujiC Voir le message
    oui voila je veux controller le débit, j'ai fait des pause sleep() dans la boucle du programme.
    sleep il est en second ou en milliseconde?
    Windows : Sleep(ms)
    Unixoides : sleep(s) et usleep(µs)

    J'utilise ceci pour être portable (msleep(ms)) :

    http://delahaye.emmanuel.free.fr/clib/psleep/

    Mais tu vas ralentir le débit. C'est voulu ?
    Pas de Wi-Fi à la maison : CPL

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 32
    Points : 10
    Points
    10
    Par défaut Récupération des données dans un serveur et les envoyer dans un réseau local en UDP
    voila je viens de compilé le tous avec msleep et voila ce que reçoit comme erreur
    /tmp/cc4RqUBV.o: In function `main':
    correctionsosso.c.text+0x15a): undefined reference to `msleep'
    collect2: ld returned 1 exit status
    je comprend rien a cette erreur et du coup sa marche bien avec sleep mais moi je veux en milliseconde

  11. #31
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par roujiC Voir le message
    voila je viens de compilé le tous avec msleep et voila ce que reçoit comme erreur
    /tmp/cc4RqUBV.o: In function `main':
    correctionsosso.c.text+0x15a): undefined reference to `msleep'
    collect2: ld returned 1 exit status
    je comprend rien a cette erreur
    Oui, cette fonction n'existe pas comme ça comme par enchantement. En fait, c'est une macro que j'ai inventée. Elle est définie dans le ficher psleep.h dont j'ai indiqué le lieu de stockage. A toi de le télécharger et de l'inclure dans ton code.
    Pas de Wi-Fi à la maison : CPL

  12. #32
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 74
    Points : 56
    Points
    56
    Par défaut
    tu as une erreur d'edition de lien
    voici ce qui te manque

    include "psleep.h" que tu trouveras ici
    http://delahaye.emmanuel.free.fr/clib/psleep/

  13. #33
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 32
    Points : 10
    Points
    10
    Par défaut Récupération des données dans un serveur et les envoyer dans un réseau local en UDP
    super ça marche bien merci a toi et a toute l'equipe qui trvaille sur le site et bon courage

  14. #34
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par roujiC Voir le message
    super ça marche bien merci a toi et a toute l'equipe qui trvaille sur le site et bon courage
    "tout travail mérite salaire".

    Ce que nous faisons ici, ce sont des contributions bénévoles. C'est du travail certes, mais ce n'est malheureusement pour moi pas 'un travail'.
    Pas de Wi-Fi à la maison : CPL

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/07/2015, 12h36
  2. Réponses: 3
    Dernier message: 11/04/2007, 14h01
  3. Réponses: 1
    Dernier message: 31/01/2007, 11h59
  4. Réponses: 2
    Dernier message: 21/05/2006, 14h02
  5. Réponses: 3
    Dernier message: 23/04/2006, 12h14

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