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/Web Python Discussion :

Transferer des paquets via Sockets


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Points : 29
    Points
    29
    Par défaut Transferer des paquets via Sockets
    Bonjour,

    Bon j'y connais pas grand chose en python, et j'utilise les socket pour transferer les paquet d'un pc à un autre , jusqu'a maintenant j'arrive à transferer des messages (ecrit) mais là il faut que je transfere de la Parole pour cela (d'après l'indication) faut découpe la sinusoide de parole en plusieurs pour pouvoir transferer le package ?
    Q1: comment ça marche ? est ce que je choisi ce que je veux comme échantillon?
    Q2: comment je fais pour la récupérations des packages?je peux pas garantir que le package 1 arrive en premier ainsi de suite...

    Merci de bien vouloir m'aider!!

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Un texte ou de la parole sont des suites d'octets que vous pouvez, en général, lire ou écrire dans des fichiers.
    Si vous voulez transférer le contenu d'un fichier d'un PC à un autre via une connexion de socket, il va falloir le découper en paquets à transmettre via send.
    Une socket TCP/IP vous garantit la réception des paquets dans leur ordre d'émission.
    Donc ce que vous savez déjà faire pour du texte devrait être aussi utilisable pour de la parole -- même si on devrait pouvoir optimiser cela différemment, mais à ce stade, pourquoi donc?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Merci de votre réponse, j'ai réussi à le faire en local ..mais qd j'ai essayé entre deux ordi ça n'a pas marché , pourtant j'ai bien changé les @dresses ip et tout ça n'a pas marché ? ça doit etre à cause de quoi?

    et au fait une autre question, c'est quoi la difference entre UDP et TCP? moi j'ai fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    host = "192.59.2.55"
    port = 8068
    buf = 1024
     
    addr = (host,port)
    # On fait le socket
    Sock = socket(IN.AF_INET,IN.SOCK_DGRAM)
    j'ai trouvé sur le net que AF_INET veut dire que c'est TCP..merci de votre aide

  4. #4
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 143
    Points
    143
    Par défaut
    AF_INET, tu le choisis en général si tu t'utilises le protocole IPv4 pour la couche réseau (le protocole couramment utilisé sur Internet).

    SOCK_DGRAM indique que tu utilises UDP pour la couche transport. Si tu veux utiliser TCP à la place, c'est SOCK_STREAM.
    TCP par rapport à UDP te garantit l'intrégrité des paquets que tu émets ou reçois et garantit aussi qu'ils arrivent dans le bon ordre.

    Il faut mieux privilégier SOCK_STREAM en général.

    Pour plus de détails sur les couches réseaux tu peux voir
    http://fr.wikipedia.org/wiki/TCP/IP
    http://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI
    par exemple.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup,

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    En fait j'ai réussi (ou presque) à Envoyer un son via sockets mais le 2eme ordinateur , me sort pas du tout le même son (le son est déformé!!) ..je veux bien savoir c'est du à Quoi ? je me suis dit ptet c'est du au mode que j'ai choisi (je fais le transfert par des sockets UDP)..
    Merci

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut
    Je vais peut être dire plusieurs bêtises (car je ne sais pas trop ce que vous faites).
    1 - Est ce que vous récupérez bien les données - avez vous par exemple sauvegardé les bouts de sons dans un fichier pour l'écouter ensuite.
    2 - Passer en TCP pour l'instant, ca évitera de se poser la question précédente.

    3 - Pensez à ce que fait votre programme:
    • attente du packet suivant,
    • envoi pour traitement à la carte son,
    Quand la carte son lui rend la main, le son s'arrête un tout petit instant...
    Test: augmentez la taille de vos paquets pour voir si c'est "mieux",
    Next: Comment bourrer la carte son? un double buffer devrait le faire mais faite les tests précédents d'abord.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Transferer des paquets via
    Par horse dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 19/06/2010, 23h13
  2. Transferer un jar via les sockets
    Par Tavarez59 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 06/03/2010, 15h28
  3. Sockets raw - interception et modification des paquets
    Par Mythras dans le forum Réseau
    Réponses: 5
    Dernier message: 08/12/2009, 19h56
  4. Envoyer des bytes via socket
    Par Mr Chinaski dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 06/11/2008, 18h15
  5. Redimensionnement des Paquets IP sur un Réseau Local
    Par Bonoboo dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h40

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