Bonjour,
tu viens de rexpliquer la méthode que j'utilise en ce moment, cad deux fonctions différentes, une qui parle au serveur et une qui l'écoute.
Ceux que je voudrais, moi c'est créer une fonction unique faisant ceux-ci.
Au faite, ceux que je voudrais c'est créer une classe qui simplifierai l'utilisation des sockets en flash. Dans cette classe j'ai envie de mettre une fonction que je nommerai foncObtData qui permet d'envoyer une requête d'obtention de donnée au serveur et qui retourne le résultat. Le problème est qu'avec la manière dont fonctionne les sockets, je ne peut pas envoyer une requête au serveur et retourner la réponse obtenue au client dans la même fonction.
J'ai essayé avec cette méthode (en gros):
class x{
var ok:boolean;
var tab:array;
//Fonction qui écoute le socket avec data, le résultat de la requête
private function recevoirData(data){
tab=data;
ok=true;
}
//Fonction appelé par l'utilisateur
public function foncObtData(){
ok=false;
socket.send(requete);
while(!ok){}
return tab;
}
Le problème avec cette méthode, c'est que l'ordonnancement des procesus en flash n'est pas comme ceux du système d'exploitation. Si j'ai bien compris, flash ne continue pas tant que la fonction appelé n'a pas finit d'agir ainsi le programme se bloque à while(!ok){} sans laisser la main à la fonction recevoirData.
