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 :

connexion socket persistante


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 195
    Points : 156
    Points
    156
    Par défaut connexion socket persistante
    Bonjour,

    je reviens avec un nouveau problème. Je réalise mes premiers projets web.
    je me rends compte que la philosophie est différente du desktop...
    J'ai crée une classe qui me permet de dialoguer avec un programme serveur de gestion de fichier (à accès séquentiel).

    Dans la classe, j'utilise une socket qui envoie et reçois des paquets qui me permet de récupérer les informations que je souhaite (normal donc ).

    Pour tester ma classe, je fais afficher les 50 premiers enregistrements du fichier dans une table.
    Aussitôt la page chargé, la connexion sur le programme serveur se ferme (et donc la socket j'imagine)
    Comment rendre cette connexion active après l'affichage de ma page?
    Je voudrais ajouter 2 boutons (suivant precedent) qui me permet de naviguer dans le fichier, donc il faut que la connexion reste ouverte..

    J’espère être assez clair.

    Une idée (peut être idiote) est de créer un serveur de gestion de socket qui garde "en vie" mes connexions mais comment y parvenir?

    Thanks

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Comme tu le dis la philosophie est différentes du desktop. Là ou ailleurs tu aurais probablement eu un thread qui gère ta socket ici tu n'a qu'un script qui à pour durée de vie son temps d’exécution.

    Une fois ta page affichée le script n'existe plus et donc toutes les ressources attachées sont détruite par le garbage collector.

    Il existe pour un certains nombre de fonction php des fonctions persistantes comme pfsockopen. Je suis pas expert de ces solution "persistante" mais il me semble qu'il faut comprendre que :

    - Le script se termine => la connexion est mise en cache pour un certains temps
    - Si un autre script souhaite utiliser la même connexion il vient utiliser celle en cache au lieu d'en recréer une.

    A tester donc.

    L'autre solution est de lancer un script en tant que daemon qui restera perpétuellement connecté mais php n'est pas vraiment fait pour ça et il sera délicat de pouvoir interroger ce script pour avoir des données provenant des socket.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 195
    Points : 156
    Points
    156
    Par défaut
    Wunderbar!

    ca fonctionne, ma connexion reste ouverte sans faire de boucle ou quoi que ce soit!

    peut être je vais rencontrer d'autres soucis mais ca avance

    J'ai vu que tu avais poster y a quelques années sur le même sujet.

    Merci chef

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Effectivement

    Pour info le dit projet tourne toujours mais n'utilise finalement pas de connexion persistantes (leur fonctionnement est un peu obscure pour moi).

    Les connexions persistantes impliquent pas mal de chose au niveau d'apache et du nombre de thread. Si ton appli est un peu solicité prend bien le temps de regarder de ce coté là.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [LIVEBOX] Prbleme connexion socket
    Par sorry60 dans le forum Développement
    Réponses: 3
    Dernier message: 18/12/2005, 16h23
  2. [C++] Probleme de connexion socket client à mon serveur smtp
    Par matthieu5978 dans le forum Développement
    Réponses: 2
    Dernier message: 04/12/2005, 08h19
  3. Ouvrir une connexion socket
    Par toure32 dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 21h22
  4. connexion socket borland
    Par karl2mil1 dans le forum C++Builder
    Réponses: 5
    Dernier message: 26/07/2005, 08h11
  5. connexion socket asynchrone
    Par jagboys dans le forum C++Builder
    Réponses: 3
    Dernier message: 17/06/2005, 17h04

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