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

Langage Java Discussion :

Comment pouvoir traiter des données dans la memoire partagée ?


Sujet :

Langage Java

Vue hybride

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut Comment pouvoir traiter des données dans la memoire partagée ?
    salut,

    je voulais savoir au debut si la notion de memoire partagée est supporté par java ou pas? en effet ce que je desire savoir et faire bien sur c'est comment je peux acceder depuis mon applicatif java a une memoire partagée par un applicatif C/C++ qui y injecte des données chaques x secondes...il me faut recuperer ces données de cetet zone partagée et les traiter ...donc est ce possible? et si oui j'aurais besoin de quoi? quels seront les types ou les packages a utiliser en java pour assurer ca ..un petit exemple me ferait bien eclaircir les idees .

    merci

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je ne pense pas que tu puisses faire ca en java...

    Le mieux pour faire communiquer un prog java et un prog c++, c'est d'utiliser les JNI.

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    aurais tu un exxemple stp?

    et comment je peux acceder a cette memoire partagee ? j'avoue que c'est la premiere fsi que je decouvre ce cote !

  4. #4
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    Comme te l'a dit wichtounet, on ne peut (a priori) pas accéder à la mémoire partagée en Java.

    JNI est une API qui permet à un programme java d'utiliser des bibliothèques C / C++. Ainsi, ce que tu pourrais faire, c'est instancier ton applicatif C++ via java et récupérer les données stockées dans cet objet via des getters.

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    JNI est une API qui permet à un programme java de communiquer avec un programme écris dans un autre langage pour peu que ce dernier respecte un certain nombre de conventions (ordre d'empilage des paramètres entre autre).
    Avec JNI, tu auras donc la possibilité de communiquer avec un programme écris dans un langage supportant l'accès en mémoire partagée.

    Quitte à en arriver là, je préconiserais plutôt un daemon C++ qui surveille la zone de mémoire partagée et qui broadcast en UDP ou en communication directe TCP des infos que tu récupère très facilement dans n'importe quel langage, y compris java.

    Il ne faut pas penser socket seulement quand il y as plusieurs machine, les socket permettent la communication inter process de manière simple !

  6. #6
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    Alwin, t'es en train de dire que la solution serait de développer 2 applis ? 1 en java qui en utilise 1 en C qui a pour but d'interagir avec l'application C cible via 1 mémoire partagée ??
    Un peu tordu comme principe non ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/04/2013, 13h51
  2. Réponses: 3
    Dernier message: 16/09/2010, 13h54
  3. Réponses: 1
    Dernier message: 01/09/2006, 21h13
  4. [MySQL] Comment insérer des données contenant un "\" dans
    Par ALEX77 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/09/2005, 17h04
  5. Réponses: 23
    Dernier message: 22/04/2004, 12h55

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