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 PHP Discussion :

Passerelle en PHP, socket_


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 40
    Par défaut Passerelle en PHP, socket_
    Bonjour.

    J'ai besoin de faire une interco entre des appli externes et un serveur.
    J'arrive à me débrouiller en PHP / MySQL / HTML, mais j'ai besoin qu'un petit moteur tourne en permanence pour écouter un socket IP en TCP, capture des ordres, puis mette le résultat dans une BDD, et retransmette un ack. (relativement simple).

    J'ai trouvé des exemples sur; comment utiliser le PHP avec les instructions socket_xxxx(). Pour ce que je veux faire, l'idée me semble faisable et pas trop de tracas concernant le développement.

    Ceci dit, mon inquiétude apparait sur la stabilité du code ou du moins son rendement.
    J'ai un exemple qui montre comment faire tourner une appli en PHP en tant que service avec PID ...Etc Donc.... cool.

    Ce que j'ai peur, c'est de devoir programmer en gcc. Jamais développé sur ce langage, donc pour une question de pratique.. PHP mais ....stable, fiable? I don't know.

    Une petite idée sur çà éviterait que je perde du temps pour rien en allant dans une mauvaise direction.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Par défaut
    Sinon tu code ta passerelle en PHP, et tu configure un cron ou une tache planifiée sur ton serveur pour lancer ton script tous les jours, tous les heures...

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Alors oui c'est possible. Par contre je suis pas convaincu de la robustesse comparé à un simple webservice , ou à un serveur type java/c++

    Il existe pas mal de librairies pour lanceru n script php comme daemon. Un exemple ici

    Mais à choisir si c'est pour des modifications ponctuelles (et pas un flux de données contants) j'obterais plus pour un webservice.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 40
    Par défaut
    Merci pour vos réponses.

    Sinon tu code ta passerelle en PHP, et tu configure un cron ou une tache planifiée sur ton serveur pour lancer ton script tous les jours, tous les heures...
    En fait le cron ne convient pas pour ce que l'appl devra faire.
    J'ai un logiciel tiers qui devra envoyer des requêtes sur un port TCP. Et mon appli devra en écouter le flux.
    Donc elle a besoin de tourner en permanence. Bien que le flux de requêtes ne sera pas bien importante (quelques dizaines par jours max, dans le sens client -> serveur).
    Peut-être plus importante dans l'autre sens (serveur -> client).

    Alors oui c'est possible. Par contre je suis pas convaincu de la robustesse comparé à un simple webservice , ou à un serveur type java/c++

    Il existe pas mal de librairies pour lancer un script php comme daemon. Un exemple ici

    Mais à choisir si c'est pour des modifications ponctuelles (et pas un flux de données contants) j'obterais plus pour un webservice.
    Pour mon idée, je m'étais inspiré de ces liens:
    http://devzone.zend.com/209/writing-...ervers-in-php/
    http://www.funphp.com/?p=33

    En fait pour tout dire sur le but final, c'est de coupler une application externe de gestion Hôtelière, qui envoie des ordres sur un socket IP.

    Donc le nombre de Check-in et Check-out par jour n'ai pas immense.
    Par contre, dans le flux serveur / client, je dois envoyer les informations sur la taxation qui devraient être plus importantes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <ci>room,Date-ci,Date-co,First-name,Last-name,id\n\r
    <co>room,Date-co\n\r
    <xf>room-from,room-to\n\r
    <vm>room,Secret-code\n\r
    <mb>room,Date,Product-id,Qt\n\r
    <rs>room,Date,Done\n\r
    <wu>room,Datet-time\n\r
    Chaque balise <xx> sera matchée et le reste sera intégré dans des variables via le résultat de explode().
    Après, les info seront stockées dans la base de données MySQL qui va bien.

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Si c'est possible du coté logiciel client , opte pour un webservice. Ça sera autrement plus simple à gérer qu'avec des sockets (pas besoin de chercher des fin de ligne , ou de définir un protocole).

    Sans tomber dans du SOAP (trop usine à gaz à mon goût). Tu peux opter pour un simple webservice en REST.

    On peut imaginer ton soft client qui fait une requête POST sur https://monwebservice/ajoutResa pour ajouter une réservation (suffit de passer les données dans la requête ).

    Et une requête GET sur https://monwebservice/lister/15 pour avoir les réservations de l'hotel #15.

    Un micro framework qui semble pas mal pour mettre en place des API REST : Toro
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 40
    Par défaut
    Oui de toute évidence, le webservice est beaucoup plus simple.
    Par contre, je ne sais pas si tous les logiciels sachent le faire.
    Entre autre les appli Micros Fidelio.

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54
  4. Réponses: 11
    Dernier message: 17/01/2006, 16h54

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