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 :

Partage de Socket entre processus


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Par défaut Partage de Socket entre processus
    Bonjour,

    Voilà ma situation :

    J'ai réalisé "from scratch" un très simple player Divx en streaming. Le serveur lit le film et envoie les packets audio et video à mon client via un socket précis. A l'aide d'FFMPEG le client dechiffre les packets et les affiche (ou les envoie vers le haut parleur) grace à SDL.

    Le problème est que maintenant je voudrai faire tourner plusieurs instances du client sur la même machine. Sans pour autant dupliquer le traffic réseau !

    Donc je cherche un moyen de partager les infos qui arrivent sur ma socket entre plusieurs processus. Sachant en plus que je ne compte pas conserver le film. Donc quand un packet a été récupéré par tous les processus, il doit disparaitre de ma mémoire.

    Ceci étant due au fait que je suis relativement radin en terme de ressources (CPU et RAM).

    Je suis en train de jeter un oeil du coté des interfaces TAP qui pourraient s'avérer utiles, mais je suis ouvert à toute sugestion

    D'avance merci pour toutes les idées que vous pourriez m'apporter.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Première solution, diffuser en broadcast UDP
    Deuxième solution, diffuser en multicast

    [edit]
    Je me rend compte que ma réponse est un peu hors sujet (ou plutôt ne répond pas exactement à ton besoin)

    Par compte, ton besoin est bizarre :
    Un serveur qui diffuse un film ou de la musique : OK
    Plusieurs clients sur le même poste, cela me parait bizarre. En effet, je supppose que ton PC n'a que 1 paire de HP et 1 seul écran. De toute façon, mêm si tu avait plusieur carte son (c'est possible ?) et plusieurs écrans (ca c'est possible) , tu n'as que 2 oreilles et une paire d'yeux. Donc quel intérêt de diffuser 2 fois ou plus le même film ou la même musique pour le mêm utilisateur.

    Ma première réponse est pour le cas ou tu as un serveur qui diffuse un ou plusieurs média à la demande et des client différents sur des postes différents sur le réseau. C'est ce que font les diffuseurs de contenu sur Internet.

    Donc la solution par broadcast UDP, c'est pour un réseau local uniquement (pas de routage entre les clients et le serveur). La solution par multicast, c'est pour les cas où il y a du routage à faire entre les clients et le serveur mais il te faudra aussi dans ce cas un équipement de gestion du multicast (équipement qui maintient les abonnements et les demandes d'abonnement)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Par défaut
    Tout d'abord, merci Ram pour ton aide.

    ...tu n'as que 2 oreilles et une paire d'yeux. Donc quel intérêt de diffuser 2 fois ou plus le même film ou la même musique pour le mêm utilisateur.
    Cela peut paraitre étrange mais tu m'as bien compris. J'ai besoin de plusieurs clients qui lisent le même film sur une seule machine.
    La raison est toute simple, il s'agit d'un démonstrateur. Et je n'ai qu'une seule machine pour simuler plusieurs clients.

    Première solution non acceptable : l'UDP est exclu. Je me concentre uniquement sur du TCP.

    Deuxième solution : c'était une bonne idée, malheureusement : l'équipement de gestion du multicast
    On oublie...

    J'essaye donc plutôt de voir du coté de la virtualisation, le but serait de dupliquer le flux arrivant sur une socket vers plusieurs interfaces réseau virtuelles auxquels mes clients seraient connectés.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Alors, une solution simple, un duplicateur de flux tcp

    1 petite appli qui d'un côté se connecte au serveur de flux à dupliquer et qui de l'autre côté retransmet le flux aux machines qui sont connectées au duplicateur.

    C'est à la fois un client et un serveur TCP. Cela ne devrait pas être trop lours à créer pour un démonstrateur
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. "partager" une variable entre processus
    Par vever001 dans le forum Débuter
    Réponses: 1
    Dernier message: 03/06/2010, 08h36
  2. Partage de mémoire entre processus
    Par Didj7 dans le forum Threads & Processus
    Réponses: 3
    Dernier message: 25/05/2008, 23h33
  3. Mémoire partagée entre processus
    Par thierryG dans le forum Windows
    Réponses: 1
    Dernier message: 17/10/2007, 11h59
  4. Partage de mutex entre 2 processus !
    Par spoown dans le forum Linux
    Réponses: 4
    Dernier message: 12/08/2006, 10h07
  5. Réponses: 3
    Dernier message: 30/03/2004, 09h38

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