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

MATLAB Discussion :

MATLAB TCP/IP C/C++


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 14
    Par défaut MATLAB TCP/IP C/C++
    Bonjour à tous,


    J'ai vu que plusieurs sujets semblent au premier abord traiter de ma demande, mais sans pour autant apporter une réponse convenant à ma situation.

    Je travaille actuellement sur un simulateur de trafic routier pour lequel je souhaite obtenir un itinéraire par le biais de calculs effectués sur Matlab. Pour ce faire, je passe par l'intermédiaire d'une API réalisée en C/C++.
    Je souhaite pouvoir récupérer des informations du simulateur depuis l'API et en transmettre également. De même, je souhaiterai que mon API puisse envoyer et recevoir des informations vers et depuis Matlab.
    L'architecture du projet peut alors se résumer à : Simulateur <--> API <--> Matlab

    ---
    Aujourd'hui, j'arrive avec mon API à contrôler mon simulateur (je récupère et transmet de nouvelles informations depuis l'API au simulateur).
    La seconde étape est de lier mon API avec Matlab.
    Un algorithme a été développé sur Matlab et je cherche donc à ce que mon API lance une instance de Matlab dans laquelle l'algorithme en question est exécuté, et les résultats sont retournés à l'API.
    Je pensais faire cette liaison par l'emploi de protocole TCP/IP : API = Client et Matlab = Serveur.
    J'ai cherché des informations ici-même ainsi que sur MathWorks, StackOverflow et GitHub, pour l'instant sans succès.

    Sur l'API est désormais présent un fichier .c (ainsi qu'un header correspondant) disposant d'une mexFunction.
    Avec l'emploi de MinGW j'ai généré un mexFile (.mexw64) que j'ai mis dans mon répertoire de projet Matlab, que je peux donc appeler et utiliser.
    Il ne me reste a priori qu'une étape à faire, la réalisation du serveur sur Matlab, et c'est là qu'est mon soucis ... Je ne sais absolument pas comment faire.

    J'ai aperçu quelques sujets sur divers forums, mais je trouve la plupart du code sans explication, ce qui ne me sert à rien ...

    Quelqu'un aurait un point de départ ou une piste pour bien démarrer un serveur réalisé sur Matlab ?
    Ou pourquoi pas, si cela existe, un tutoriel permettant la réalisation d'un tel serveur ?


    Je vous remercie pour votre temps,

    Cordialement.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Pourquoi ne pas utiliser le MATLAB Engine pour exécuter le code MATLAB depuis l’application en C ?

    => Introducing MATLAB Engine API for C/C++ and Fortran

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 14
    Par défaut
    Je te remercie pour ta réponse.

    J'avais initialement effectué un petit test avec l'emploi de engine.h sur mon API (si c'est de cela dont tu parles).
    J'arrive à lancer une instance de Matlab et à exécuter une petite fonction.
    Néanmoins, j'ai ensuite vu sur certains forums que ceci n'est viable qu'en local ... L'idéal serait que ceci fonctionne en distant.
    Penses-tu ceci possible ?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 14
    Par défaut
    L'information est remontée en haut, on va se concentrer en local.
    Je vais donc partir sur l'emploi de engine comme tu le suggérais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ping sous protocole TCP (et non UDP)
    Par ovdz dans le forum Développement
    Réponses: 2
    Dernier message: 19/06/2003, 14h10
  2. [socket][tcp] jeu en reseau
    Par souris_sonic dans le forum Développement
    Réponses: 2
    Dernier message: 30/05/2003, 07h31
  3. [Concept]Concept d'un serveur TCP/IP
    Par Zc dans le forum Développement
    Réponses: 8
    Dernier message: 17/01/2003, 17h06
  4. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  5. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40

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