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

Web & réseau Delphi Discussion :

Comment mettre en place de nombreuses requêtes php


Sujet :

Web & réseau Delphi

  1. #1
    Débutant
    Comment mettre en place de nombreuses requêtes php
    bonjour

    j'aimerais créer un tchat multiplateforme et donc j'ai décidé de troquer ma connexion persistante pour une connexion non persistante : tout sera gérer depuis une bdd mysql

    les clients échangeront avec la bdd à l'aide de requêtes, que pensez vous de ce code :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    var url: string;
        H: TIdHttp;
        SS: TStringStream;
    begin
      url := 'http://monscript.php?variable_get'
      H := TIdHttp.Create(nil);
      try
        SS := TStringStream.Create;
        try
          H.Get(url, SS);
          Result := SS.DataString;
        finally SS.Free;
        end;
      finally H.Free;
      end;
    end;


    qu'en pensez vous ?

    ensuite que me conseillez vous afin d'avoir des informations provenant du serveur php ?

    exemple concret : comment puis je savoir qu'un utilisateur s'est connecté ou qu'il envoie du texte (tchat) ?

    mon idée était de mettre dans une table de la bdd tout le trafic (nouvelle utilisateur / nouveau tchat / ect) et de faire tous les clients interroger le serveur "de temps en temps"

    et après réflexion, je me disais que le "de temps en temps" n'est pas assez régulier, il faut vraiment interroger toutes les secondes pour savoir si un nouvel événement existe !

    n'ayant jamais fait ce genre d'application, je vous demande donc votre expérience :

    1/ est ce une bonne chose de mettre en place une requête php qui s'amusera à vérifier s'il y a de nouvelles entrées dans la table ?

    2/ est ce que le serveur php supportera ? que 200 clients fassent une requête toute les 1 seconde ?

    merci d'avance pour votre éclaircissement

  2. #2
    Expert éminent sénior
    Même sujet ?

    Je n'aime pas l'idée d'avoir un boucle active toutes les secondes du client pour aller chercher une donnée qui n'existe pas !
    J'aurais dit que tu devrais plutôt travailler de stabiliser la connexion persistante si tu as eu des problèmes de déconnexion avec (seule raison pour changer)

    Mais en y repensant, GMail qui est Full JS c'est ce qu'il fait, il doit appeler régulièrement un WS JSON (REST) pour avoir ses données (sur mobile, cela indique quand il check les mails)
    Le HTML5 devant permettre des sortes de sockets, je ne sais pas ce que c'est devenu (faille de sécurité au début)

    Et j'ai fait bien pire avec un Tetris qui faisait pareil mais toutes les 40ms, un mini JS qui appelait du PHP, cela n'a jamais été aussi bien que la version Delphi mais c'était un bon exercice de Style


    Dans 4 mois, je serais pris par la maintenance d'un Serveur Delphi qui est sollicité par des frontaux PHP pour générer les vues Web
    Je vais beaucoup apprendre du monde du Web, je pourrais avoir des avis neufs


    Tu devrais poser la question dans le forum PHP
    Bonnes pratiques en JS <-> PHP
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Débutant
    Citation Envoyé par ShaiLeTroll Voir le message

    Je n'aime pas l'idée d'avoir un boucle active toutes les secondes du client pour aller chercher une donnée qui n'existe pas !
    J'aurais dit que tu devrais plutôt travailler de stabiliser la connexion persistante si tu as eu des problèmes de déconnexion avec (seule raison pour changer)
    moi non plus, je n'aime pas

    j'aime mieux la connexion persistante, je l'avoue, mais je serai amené plus tard à faire du multisupport, et donc pour linux / mac / android ce sont des choses qui se font (requête http) pas trop difficilement je suppose, et surtout que je peux faire un client web (ajax pour interroger la bdd)

  4. #4
    Expert éminent sénior
    en web tu peux aussi utiliser un WebSocket, mais tu ne peux pas faire cela en PHP à ma connaissance
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Débutant
    Citation Envoyé par Paul TOTH Voir le message
    en web tu peux aussi utiliser un WebSocket, mais tu ne peux pas faire cela en PHP à ma connaissance
    je ne me suis pas encore mis au websocket, donc je ne peux pas encore argumenter ou tester

    on est un peu dans le même domaine, tu m'as été d'un grand secours pour les thread

    pour substituer à mon application delphi, j'espère pouvoir faire pareil sous d'autre plateforme (firemonkey ?) en espérant moins galérer ...

    et si je devais faire une version depuis le webbroswer, j'ai parlé de php et de ajax, car on peut interroger la bdd notre guise, et donc je comptais faire une interrogation aussi toute les 1 seconde (timer ? avec le webborswer on n'a pas de Thread :p quoique une astuce ? :p)