Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2371 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Problème connexion XMLServer entre Flash (AS) et Java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème connexion XMLServer entre Flash (AS) et Java

n°1349127
XK
Posté le 18-04-2006 à 19:21:20  profilanswer
 

Bonjour
 
J'ai un soucis pour établir une connexion entre un programme en Flash et un autre en Java.
Dans l'idée de faire une connexion TCP/XML entre les deux, j'ai essayé de faire ceci :
 
côté client (flash) voici les lignes de commandes :

Code :
  1. var socket = new XMLSocket();
  2. socket.onData = reception;
  3. System.security.loadPolicy('xmlsocket://'+serv_ip+':'+serv_port);
  4. socket.connect(serv_ip,serv_port);
  5. socket.onConnect = connexion;


 
côté serveur (java)

Code :
  1. in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
  2. mess = in.readLine();


 
La connexion entre les deux est bien établie, par contre le serveur attend la ligne de demande du CrossDomainPolicy, donc rien ne bouge... jusqu'à ce que je ferme l'application Flash. En effet à ce moment là l'application Java m'indique avoir reçu la ligne "<policy-file-request/>" mais c'est trop tard :(
 
Comment ça se fait que l'application Java reste bloquée sur readLine() alors que "<policy-file-request/>" semble être dans le buffer?
 
Je précise que l'application Java est lancée à partir d'une page HTML lue par IE. C'est du Flash 8, AS 2.0.
L'application Java est en 1.5.0_6.
Merci pour votre aide :hello:

mood
Publicité
Posté le 18-04-2006 à 19:21:20  profilanswer
 

n°1349271
XK
Posté le 18-04-2006 à 23:33:21  profilanswer
 

up

n°1349324
mechkurt
Posté le 19-04-2006 à 07:43:43  profilanswer
 

je suis pas sur mais je pense qu'il doit y avoir un parametre special dans la balise object qui autorise la creation de requetes....


---------------
D3
n°1349356
XK
Posté le 19-04-2006 à 09:46:51  profilanswer
 

Je n'ai pas trouvé de balise spéciale dans la page qui résolve le problème.
C'est comme si le  programme Java attendait la fin de la ligne pour continuer et c'est seulement lorsque l'application Flash est fermée, donc la connexion interrompue, que ça se débloque.
Est-il possible de mettre un timeout sur le fonction "in.readLine()" (prog Java) pour qu'au bout de 2 secondes par exemple il cesse d'attendre d'autres infos pour rien? :??:

n°1349468
XK
Posté le 19-04-2006 à 11:36:55  profilanswer
 

Il est possible d'utiliser "public void setSoTimeout(int timeout) throws SocketException" pour faire un timeout mais le résultat n'est pas très propre...
J'aimerai vraiment trouver pourquoi Java attend bètement la fin de la ligne alors qu'il l'a dans le buffer? J'ai oublié de préciser que dans le buffer à la fin de la logne il y a une sorte de caractère "carré", c'est peut être un problème de reconnaissance du retour chariot envoyé par Flash à la fin de la ligne.
Que faire??

n°1349911
XK
Posté le 19-04-2006 à 17:19:15  profilanswer
 

Après plein de tests il se trouve que la fonction readLine() s'arrête que lorsque elle détecte un retour chariot alors que Flash ne lui envoi qu'un caractère NUL.
Pour que ça fonctionne j'ai du récupérer les caractères un par un jusqu'au caractère NUL mais ce n'est pas super propre alors si vous avez une idée pour que ça fonctionne uniquement avec readLine() merci de m'aider :hello:

n°1354870
brojnev
Posté le 27-04-2006 à 08:33:13  profilanswer
 

XK a écrit :

Après plein de tests il se trouve que la fonction readLine() s'arrête que lorsque elle détecte un retour chariot alors que Flash ne lui envoi qu'un caractère NUL.
Pour que ça fonctionne j'ai du récupérer les caractères un par un jusqu'au caractère NUL mais ce n'est pas super propre alors si vous avez une idée pour que ça fonctionne uniquement avec readLine() merci de m'aider :hello:


 
enjouant avec http://java.sun.com/j2se/1.5.0/doc [...] nizer.html ?

n°1355667
brojnev
Posté le 28-04-2006 à 03:15:14  profilanswer
 

XK a écrit :

Après plein de tests il se trouve que la fonction readLine() s'arrête que lorsque elle détecte un retour chariot alors que Flash ne lui envoi qu'un caractère NUL.
Pour que ça fonctionne j'ai du récupérer les caractères un par un jusqu'au caractère NUL mais ce n'est pas super propre alors si vous avez une idée pour que ça fonctionne uniquement avec readLine() merci de m'aider :hello:


 
 
Ok, je suis tombé sur "Java API for XML Messaging (JAXM) Downloads & Specifications" qui t'interessera surement.
http://java.sun.com/xml/downloads/jaxm.html


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Problème connexion XMLServer entre Flash (AS) et Java

 

Sujets relatifs
=> Problème de roll.[Résolu] Problème ouverture Popup
[résolu] Agir sur un formulaire flashConnexion PostgreSQL - Delphi
[Flash] Problème de loaderMais début en flash
Probleme de free sur une structureProbleme d'execution JS (Via AJAX)
Connexion à distance avec Java. 
Plus de sujets relatifs à : Problème connexion XMLServer entre Flash (AS) et Java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR