Bonjour,
Je développe un chat avec red5 et de l'as3 (flash developp, flash player 10, java : 1.6.0_23, red5 (peut être la 0.9.1)).
A l'heure actuelle, ma connection entre mon application flash et mon serveur red5 se fait correctement, je n'ai pas d'erreurs, ni d'un côté, ni de l'autre.
Lorsque je fais appel à une fonction depuis flash, telle que :
mon serveur red5, appel bien ma fonction flash sendpublicmess en transmettant les bonnes infos.
Code : Sélectionner tout - Visualiser dans une fenêtre à part nc.call("sendpublicmess",responder, user.pseudo);
Par contre, quand je fais appel, côté java, à des fonctions telles que :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if (conn instanceof IServiceCapableConnection) { IServiceCapableConnection sc = (IServiceCapableConnection) conn; sc.invoke("joinuser", new Object[]{conn.getClient().getId()}); System.out.println("connect IConnection nombre params="+conn); }
je n'ai aucunes erreurs affichée dans mon terminal, mon message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 serviceUtils.invokeOnAllConnections (scope, "joinuser", new Object[] {"ok"} ); ( ou serviceUtils.invokeOnAllConnections ("joinuser", new Object[] {"ok"} ); ) System.out.println("connect IConnection nombre params="+conn);apparait bien dans les deux cas.connect IConnection nombre params=RTMPMinaConnection from 127.0.0.1 to localhost (in: 3357 out 3073)
Par contre, côté flash, rien, je n'ai aucune réaction suite à l'appel de ce script.
Je ne sais pas si mon problème vient de java qui n’envoie pas les données ou de flash qui ne les réceptionnent pas (pbm d'écouteurs ?)
A noter côté flash, j'ai bien :
Côté java, j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 rtmpString = "rtmp://localhost/...." this.nc.objectEncoding = 3; this.nc.client = { onBWDone: function():void { } }; this.nc.addEventListener("netStatus", onNCStatus); this.nc.connect(rtmpString, user.pseudo, ...); public function onNCStatus(event:NetStatusEvent):void { trace("Main :: default :: " +event.info.code); //-- normalement inutile mais j'ai tt essayé responder = new Responder(resultHandler, errorHandler); .... public function joinuser(idclient:int, ...
Code java : 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
18 public boolean connect(IConnection conn, IScope scope, Object[] params) { if (conn instanceof IServiceCapableConnection) { IServiceCapableConnection sc = (IServiceCapableConnection) conn; sc.invoke("joinuser", new Object[]{conn.getClient().getId(), ...}); System.out.println("connect IConnection nombre params="+conn); //-- je passe bien ici } ServiceUtils.invokeOnAllConnections ("joinuser", new Object[] {"ok", ....} ); serviceUtils.invokeOnAllConnections (scope, "joinuser", new Object[] {"ok",...} ); public boolean joinuser(String vara,String varb,String varc,String vard) { System.out.println("Joinuser"); return true; }
A noter, j'ai essay à peu prêt toutes les variantes posssibles, et rien n'y fait, j'ai pas d'erreurs, je peux tout faire à part ça : me connecter au serveur, déconnecter, appeler d'autres fonctions, récupérer la liste des utilisateurs ... mais tout ce qui touche à l'appel de fonctions flash depuis red5 reste sans effet.
Partager