C'est tout à fait possible; cela a même été ma première application "pro" en PB : un cd-rom avec moteur de recherche intégré. J'ai réalisé une application pb intégrant un gadget web, et le serveur (fait en pb) qui lui servait les pages selon les requêtes demandées ; l'avantage de faire son propre serveur, c'est qu'on peut faire ce qu'on veut, comme par exemple lancer une application (en l'occurrence, un programme tiers de test de connaissance, qui avait la fâcheuse manie de se mettre à l'arrière plan, ce que j'ai dû corriger encore une fois grâce à PB).
Pour la communication avec l'appli flash, il s'agit de requêtes classiques, comme avec un bête formulaire, l'avantage de flash étant que tu peux faire ça en "temps réel".
Le serveur Web de Cls
-
- Messages : 67
- Inscription : mer. 27/sept./2006 12:45
Re: Le serveur Web de Cls
Intéressant. Donc c'est possible et c'est une bonne nouvelle.
Je vois bien le truc avec le flash et l'action post. généralement, dans ce cas, on doit spécifier un script (comme par exemple script.php (ou autre) dans le cas du php.
Mais voilà, dans le cas du serveur web en purebasic, si je comprends bien, il faut détecter la requête POST formulée par le flash et prévoir un module (une routine interne au serveur) qui va traiter les données envoyées?
Puis appeler mon application tierce (sur le même ordinateur) et traiter ces données.
J'ai tout bon?
Je vois bien le truc avec le flash et l'action post. généralement, dans ce cas, on doit spécifier un script (comme par exemple script.php (ou autre) dans le cas du php.
Mais voilà, dans le cas du serveur web en purebasic, si je comprends bien, il faut détecter la requête POST formulée par le flash et prévoir un module (une routine interne au serveur) qui va traiter les données envoyées?
Puis appeler mon application tierce (sur le même ordinateur) et traiter ces données.
J'ai tout bon?
-
- Messages : 67
- Inscription : mer. 27/sept./2006 12:45
Re: Le serveur Web de Cls
je me réponds à moi-même car je viens de tester rapidement.
J'ai utilisé le serveur web de cls et une animation flash avec formulaire.
J'ai utilisé un script en as2 et voici ce que j'obtiens dans la fenêtre journal du serveur web.
Il me reste donc de m'imprégner du super travail de CLS pour créer mon propre serveur (web ou interne) pour gérer des applications flash déjà existantes et relier celles-ci à ma base de données sqlite déjà existante également.
J'ai utilisé le serveur web de cls et une animation flash avec formulaire.
J'ai utilisé un script en as2 et voici ce que j'obtiens dans la fenêtre journal du serveur web.
Il me suffit donc de traiter ces données et lancer une application tierce pour traiter ces données.13:49 Nouveau client connecté (ID : 28056704 | IP : 192.168.1.14)
13:49 # Requête (ID : 28056704 | IP : 192.168.1.14)
POST /contact.php HTTP/1.1
Host: 192.168.1.14
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-type: application/x-www-form-urlencoded
Content-length: 109
Name=aaaaaaaaaaaaaaaaaa&Email=bbbbbbbbbbbbbbbbbb&Message=cccccccccccccccccccccccccccccccccccccccccccccccccccc
Il me reste donc de m'imprégner du super travail de CLS pour créer mon propre serveur (web ou interne) pour gérer des applications flash déjà existantes et relier celles-ci à ma base de données sqlite déjà existante également.
-
- Messages : 67
- Inscription : mer. 27/sept./2006 12:45
Re: Le serveur Web de Cls
Bon, avec mes essais, je découvre que cela fonctionne bien mais voilà, comment faire pour que le flash récupère les données entrées précédemment et redonnées par l'application tierce à la demande?
J'utilise déjà un fichier texte mais j'imagine qu'avec ce serveur web, il doit y avoir un moyen plus direct de lancer non seulement la page mais aussi d'y inclure des données (utiliser un script php revient à un fichier text, non?).
En effet, si j'utilise un fichier, mon souci est que l'on ne peut traiter qu'une seule fiche à la fois (car flash doit rechercher un nom de fichier qui reste statique) or l'intérêt du serveur est de répondre à chacun en (pseudo) simultané...
Donc la question qui me turlupine est :
Comment, à partir d'un serveur purebasic (du genre de celui de cls), peut-on ENVOYER des données vers un client (dont on connait l'ID) et, dans un même temps, répondre à un autre client (en évitant d'utiliser un fichier texte qui risque d'être utilisé par les deux clients en même temps et donc être erroné pour l'un des deux)?
Si quelqu'un a une piste avec un exemple, je suis avide de la découvrir (je vais chercher de mon côté en analysant la technique php dont le problème doit bien se poser à l'identique pour l'utilisation de SGBD en ligne avec clients multiples).
J'utilise déjà un fichier texte mais j'imagine qu'avec ce serveur web, il doit y avoir un moyen plus direct de lancer non seulement la page mais aussi d'y inclure des données (utiliser un script php revient à un fichier text, non?).
En effet, si j'utilise un fichier, mon souci est que l'on ne peut traiter qu'une seule fiche à la fois (car flash doit rechercher un nom de fichier qui reste statique) or l'intérêt du serveur est de répondre à chacun en (pseudo) simultané...
Donc la question qui me turlupine est :
Comment, à partir d'un serveur purebasic (du genre de celui de cls), peut-on ENVOYER des données vers un client (dont on connait l'ID) et, dans un même temps, répondre à un autre client (en évitant d'utiliser un fichier texte qui risque d'être utilisé par les deux clients en même temps et donc être erroné pour l'un des deux)?
Si quelqu'un a une piste avec un exemple, je suis avide de la découvrir (je vais chercher de mon côté en analysant la technique php dont le problème doit bien se poser à l'identique pour l'utilisation de SGBD en ligne avec clients multiples).
Re: Le serveur Web de Cls
Ton serveur doit répondre à plusieurs clients, c'est son rôle. Soit tu traites les requêtes entrantes les unes après les autres, dans une boucle, de la même façon que tu traites les événements entrants d'une fenêtre par exemple, soit tu fais un programme multithreadé, mais c'est un peu plus compliqué à gérer.
Pour envoyer des informations à l'appli flash, c'est simple, tu ne dois pas.
En théorie, tu pourrais récupérer son IP et lui transmettre des trucs mais il s'agirait là d'un échange bidirectionnel client/serveur client/serveur; or, ton appli flash n'est qu'un client : c'est donc elle qui va redemander régulièrement des infos (sur la base d'une requête classique, comme si elle demandait une page), que ton serveur générera à la volée (pas obligé que ça vienne d'un fichier texte, tu lui envoies ce que tu veux!)
Pour envoyer des informations à l'appli flash, c'est simple, tu ne dois pas.

Re: Le serveur Web de Cls
A mon avis la meilleure solution est de multi threader ton serveur. Comme je l'indique dans le post, ceci est une source ancienne que j'aurais traité différemment si je l'avais faite quelques années plus tard.
Bon courage,
Cls
Bon courage,
Cls
-
- Messages : 67
- Inscription : mer. 27/sept./2006 12:45
Re: Le serveur Web de Cls
Merci à toi et à ton travail qui, même s'il date, m'a permis de découvrir que ce que je voulais faire en imagination trouvera sa réponse concrètement.
Cela me donne la force de me lancer dans cette réalisation car, je dois l'avouer, si je n'avais pas découvert ton travail, la tâche me semblait si immense et incertaine que je pense que je n'aurai jamais osé la commencer, de peur de faire un gros boulot pour rien et aussi parce que je ne suis pas très connaisseur des serveurs (quels qu'ils soient).
Cela me donne la force de me lancer dans cette réalisation car, je dois l'avouer, si je n'avais pas découvert ton travail, la tâche me semblait si immense et incertaine que je pense que je n'aurai jamais osé la commencer, de peur de faire un gros boulot pour rien et aussi parce que je ne suis pas très connaisseur des serveurs (quels qu'ils soient).