Communication asynchrone avec un flash

WRInaute discret
Bonsoir,

Je dois réaliser un flash assez compliqué, l'utilisateur se connecte à un site, affiche un flash et il attend.

Côté serveur je reçois des informations et je dois les renvoyer aux flashs des clients connectés.

J'ai essayé avec le FMS d'adobe mais je ne vois pas comment renvoyer en temps réel l'action au flash quand je la reçois sur le serveur.

Est-ce que quelqu'un a déjà fait quelque chose de similaire ou voit un peu comment faire ?
 
WRInaute passionné
Bonsoir,

Je pense que tu as besoin d'un système de socket. Mais je ne pourrai pas t'aider car je ne l'ai jamais fait et c'est assez complexe il parait.
 
WRInaute impliqué
besoin de plus de précisions sur ce que tu veux faire.

Tu as deux solutions asynchrone et synchrone.

Asynchrone : Soit tu utilises ton flash pour interroger un fichier php sur un serveur distant pour par exemple récupérer des infos dans une bdd et là tu devras utiliser des fonctions comme sendAndLoad.

Synchrone : Soit tu as besoin d'une application client-serveur et dans ce cas tu devras mettre en place un serveur red5 (gratuit) ou un FMS si t'as des pepettes à investir...

cadeau si tu connais pas red5 : http://flashextensions.com/tutorials.php

c'est grâce à ce site que j'ai compris le plus de choses sur red5
 
WRInaute discret
Je vais essayer d'être plus clair :

2 serveurs A et B
un flash client

Pour le moment ce qu'il faut que je fasse :
Le flash est connecté au serveur A par un FMS.

Le serveur B envoie une requête en http au serveur A et le serveur A renvoie la requête au flash client.

Ce qui me pose problème c'est le passage de la requête http du serveur B au serveur FMS de A puis au flash en temps réel.

J'espère que c'est plus clair.
 
WRInaute impliqué
avec fms ce n'est pas une requete http c'est une requete rtmp.

Ce que je souhaite savoir c'est pour quoi faire (tu peux repondre en MP si tu veux) car c'est assez specifique.
Une requete http ce fait rien qu'avec le flash vers un serveur php alors qu'un requete fms va te demander de gros frais et ca ne sert que si tu veux faire du client-serveur en temps réel (webcam, jeux...)
 
WRInaute discret
Alors en fait exactement, je dois faire un flash qui attend une réponse d'un serveur de SMS.

L'utilisateur se loggue dans un flash et pour aller plus loin il doit envoyer un sms surtaxé avec un identifiant.

Une fois le SMS reçu sur le serveur le flash doit en direct accéder à la zone privée.

Voila.
 
WRInaute impliqué
je t'ai repondu en mp donc je remet ma reponse ici :

C'est un systeme allopass que tu souhaites?

En fait avec allopass quand le gars paye, le serveur allopass ouvre une page php sur ton serveur. A partir de là tu peux dire dans cette page que ca rentre une valeur dans ta bdd disant que le gars a bien payé.

En parallele sur ton anim flash tu check toutes les 3 secondes si le gars a payé en faisant un sendAndLoad.

après ca depend de comment est organisée ta bdd et si chaque personne doit se logguer pour acceder à ton anim. mais le cheminement des infos c'est environ comme ça :)
 
WRInaute discret
J'avais bien pensé à faire comme ça mais c'est le check toutes les 3 secondes qui me parait lourd, si j'ai 1000 utilisateurs en même temps j'ai 1000 requêtes toutes les 3 secondes à la BDD.
 
WRInaute impliqué
ouais enfin si t'as 1000 paiements par seconde t'as largement de quoi investir dans une solution programmée par une société avec des supers servers de ouf pour que ca carbure...

toc toc, faut redescendre là :d

A mon avis t'as largement le temps de voir venir les choses ;)
 
WRInaute impliqué
y'a une différence entre voir grand et être réaliste :lol:

Et pis si toutes les 3secondes ca ne te convient pas t'as qu'a mettre ca à 5 secondes.
C'est la solution la meilleure pour ton truc.
Après si t'arrives ne serait-ce qu'a avoir un seul paiement par seconde (86400 paiements par jour donc...), j'imagine que ça te fera assez d'argent pour voir + grand ;)
 
WRInaute discret
Mon problème c'est que j'ai beaucoup de connexion en tres peu de temps.

C'est pas 1000 / s mais c'est pas loin.

Si allopass met 10 secondes à répondre et le flash 3 ou 5 secondes à voir la réponse l'utilisateur peut attendre 15 secondes après son action. Je trouve que ça fait beaucoup.

Je suis en train de faire un mini serveur java, qui fait "FMS" et qui récupère la réponse en http d'allopass.

Mais déjà c'est pas sur de marcher et en plus je ne sais pas si ça va tenir la charge... Le multithread en java c'est un peu compliqué...
 
WRInaute impliqué
y'a quelque chose que j'ai pas suivi... allopass en SMS c'est au minimum un reversement de 52cts par SMS

si t'as 1000 paiements à la seconde c'est que tu te fais du 500€ à la seconde alors pourquoi t'embêter à programmer ça toi même??
 
WRInaute impliqué
ceci dit, javascript communique aussi très bien avec flash, et javascript avec son implémentation comet est très facilement en mesure d'écouter des requete http venu d'ailleur ...
 
WRInaute discret
Très intéressant Comet, je connaissais pas.

Je regarde de suite, en tout cas avec ce projet, même si j'y arrive pas, c'est fou le nombre de truc que j'ai découvert !!!
 
WRInaute discret
ça permet de ne pas avoir l'avertissement d'internet explorer (cliquez ici pour activer et utiliser ce contrôle) et aussi de mettre à jour le flash player de l'internaute si il n'a pas une version suffisante de flash player pour voir ton flash.
 
WRInaute discret
Oui c'est vraiment bien fait, le truc le mieux je trouve c'est que tu peux définir une url de redirect.

Par défaut quand tu mets à jour ton player flash, tu fermes obligatoirement ton navigateur et à la réouverture l'internaute se retrouve obligatoirement sur sa page d'accueil.

La tu peux définir une url et après l'installation l'internaute revient sur ton site.

http://code.google.com/p/swfobject/
 
Discussions similaires
Haut