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

Delphi Discussion :

Protocole découpage données en UDP


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 53
    Points : 40
    Points
    40
    Par défaut Protocole découpage données en UDP
    Quelqu’un a-t-il une idée ou exemple ou tutoriel de protocole qui découpe en plusieurs morceaux (fragments) les données envoyée avec TIDUDPServer ou TIDUDPClient ?

    Quand on envoie des données trop volumineuses, il renvoie une erreur 'Package Size Too big'.

    Le problème c'est que je crée un serveur RTSP qui utilise le Socket UDP. Je fais des Streaming des cameras IP en 2 Megapixel.
    Une frame d'image avec ce type de camera ne passe pas avec socket UDP.

    OK, J'ai fait ce protocole de découpage en socket UDP à ma manière ; ça marche sur la partie SERVEUR et CLIENT (UDP) que j'ai créée.

    Mais mon serveur RTSP ne marche pas avec VLC, ou Quicktime, FFMPEG,... car ce protocole de découpage que j'avais créé ne marche pas avec eux...

    Comment on fait ce découpage UDP aux normes pour que les autres lecteurs le reconnaissent ?

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    c'est "simple" il suffit de suivre la RFC
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    sauf erreur de ma part, le découpage nécessaire est réalisé automatiquement par les couches protocole. Tu ne devrais pas en avoir à t'en occuper au niveau applicatif.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    sauf erreur de ma part, le découpage nécessaire est réalisé automatiquement par les couches protocole. Tu ne devrais pas en avoir à t'en occuper au niveau applicatif.
    en fait non, en TCP un "gros" paquet est décomposé en plus petits, acheminés et restituée dans l'ordre de l'autre côte. En UDP tu n'as pas de notion de connexion, les paquets sont envoyés sans accusé de réception et n'arrivent pas forcément dans l'ordre d'envoie.

    je ne connais pas RTSP mais pour avoir implémenté pour un SoftPhone RTP qui transporte la voix, il faut dimensionner les paquets et ajouter une entête, pas bien compliquée, qui précise ce qu'est le paquet, format timestamp et numéro de séquence.

    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
     
    type
    {
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |V=2|P|X|  CC   |M|     PT      |       sequence number         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           timestamp                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           synchronization source (SSRC) identifier            |
     +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
    }
      TRTPHeader=packed record
     // HEADER 12 bytes
        Version  : Byte;      // $80  : Version = 2
        Payload  : Byte;      //   8  : PCMA
        Sequence : Word;
        Timestamp: Cardinal;
        SSRC     : Cardinal;
     // PCMA PayLoad...
      end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. découpage données de retour + sélecteurs ?
    Par Lorenzo77 dans le forum jQuery
    Réponses: 4
    Dernier message: 10/03/2013, 14h15
  2. Envoi de données en UDP
    Par boboss123 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 07/09/2011, 17h00
  3. Réponses: 11
    Dernier message: 08/03/2007, 14h29
  4. Réponses: 6
    Dernier message: 05/02/2007, 19h24
  5. Ping sous protocole TCP (et non UDP)
    Par ovdz dans le forum Développement
    Réponses: 2
    Dernier message: 19/06/2003, 14h10

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