Bonjour, je vient vers vous car j'ai un soucis avec mon code java que je n'arrive pas à élucider. C'est un code qui permet de faire un réseau client/serveur avec comme client as3 et le serveur en java. Le soucis vient de facon aléatoire dans le temps mais toujours au meme endroit dans le code. Voici en premier le code as3 :
bw = new BufferedWriter(new FileWriter(file,true));
bw.write(content);//Start writing to the output stream
bw.flush();
bw.close();
// code servant a ecrire dans le fichier log
}
returntrue;
}
}
Et enfin le fichier log :
Code :
22:19:41 : onConnect : /5.4.3.2
22:19:41 : onConnect A : /5.4.3.2
22:19:41 : onConnect B : /5.4.3.2
22:19:41 : onConnect C : /5.4.3.2
22:19:41 : Incoming data A : /5.4.3.2
22:19:41 : Incoming data B: YYY~est connecté(e) : /5.4.3.2
22:19:41 : Incoming data C: YYY~est connecté(e) : /5.4.3.2
22:19:41 : Incoming data D: [Ljava.lang.String;@2350ad83 : /5.4.3.2
22:19:41 : Outgoing data : YYY: est connecté(e)
22:19:41 : Outgoing data A : YYY: est connecté(e)
22:19:41 : Outgoing data B : YYY: est connecté(e)
22:20:03 : onConnect : /9.8.7.6
22:20:03 : onConnect A : /9.8.7.6
22:20:03 : onConnect B : /9.8.7.6
22:20:03 : onConnect C : /9.8.7.6
22:20:03 : Incoming data A : /9.8.7.6
22:20:03 : Incoming data B: XXX~est connecté(e) : /9.8.7.6
22:20:03 : Incoming data C: XXX~est connecté(e) : /9.8.7.6
22:20:03 : Incoming data D: [Ljava.lang.String;@7224ccce : /9.8.7.6
22:20:03 : Outgoing data : XXX: est connecté(e)
22:20:03 : Outgoing data A : XXX: est connecté(e)
22:20:03 : Outgoing data B : XXX: est connecté(e)
22:20:26 : Incoming data A : /9.8.7.6
22:20:26 : Incoming data B: XXX~Je te vois YYY! : /9.8.7.6
22:20:26 : Incoming data C: XXX~Je te vois YYY! : /9.8.7.6
22:20:26 : Incoming data D: [Ljava.lang.String;@6e431d9d : /9.8.7.6
22:20:26 : Outgoing data : XXX: Je te vois YYY!
22:20:26 : Outgoing data A : XXX: Je te vois YYY!
22:20:26 : Outgoing data B : XXX: Je te vois YYY!
22:21:04 : Incoming data A : /5.4.3.2
22:21:04 : Incoming data B: YYY~Moi aussi ! : /5.4.3.2
22:21:04 : Incoming data C: YYY~Moi aussi ! : /5.4.3.2
22:21:04 : Incoming data D: [Ljava.lang.String;@6d552524 : /5.4.3.2
22:21:04 : Outgoing data : YYY: Moi aussi !
22:21:04 : Outgoing data A : YYY: Moi aussi !
22:21:04 : Outgoing data B : YYY: Moi aussi !
22:22:47 : Incoming data A : /5.4.3.2
22:22:47 : Incoming data B: YYY~je viens de partir !! : /5.4.3.2
22:22:47 : Incoming data C: YYY~je viens de partir !! : /5.4.3.2
22:22:47 : Incoming data D: [Ljava.lang.String;@41796abe : /5.4.3.2
22:22:47 : Outgoing data : YYY: je viens de partir !!
22:22:47 : Outgoing data A : YYY: je viens de partir !!
22:24:30 : onConnect : /5.4.3.2
22:24:30 : onConnect A : /5.4.3.2
Le probleme survient à 22:24:30 lorsque l'ip 5.4.3.2 tente de se connecter, la connection s'etablit correctement comme on peut le voir dans les log et dans le trace dans le fichier as3 mais bloque au niveau du synchronized(sessions){} dans la fonction public boolean onConnect(INonBlockingConnection nbc) throws IOException, BufferUnderflowException, MaxReadSizeExceededException.
Lorsque cela arrive, tout le systeme du d'echange de message du tchat est planté, je suis obligé de kill le processus (le serveur java etant sur une debian) et de le relancer. Cela provient au bout de 30 min ou au bout de 5h, qu'il y ai 10 ou 80 personnes dessus.
N'etant pas dev java de base, il y a surement une erreur dedans mais je ne la voit pas. Merci pour vos futures réponses.
Marsh Posté le 23-01-2013 à 09:57:47
Bonjour, je vient vers vous car j'ai un soucis avec mon code java que je n'arrive pas à élucider.
C'est un code qui permet de faire un réseau client/serveur avec comme client as3 et le serveur en java.
Le soucis vient de facon aléatoire dans le temps mais toujours au meme endroit dans le code.
Voici en premier le code as3 :
Puis le code lancement serveur:
Puis le code qui traite les connections :
Et enfin le fichier log :
Le probleme survient à 22:24:30 lorsque l'ip 5.4.3.2 tente de se connecter, la connection s'etablit correctement comme on peut le voir dans les log et dans le trace dans le fichier as3 mais bloque au niveau du synchronized(sessions){} dans la fonction public boolean onConnect(INonBlockingConnection nbc) throws IOException, BufferUnderflowException, MaxReadSizeExceededException.
Lorsque cela arrive, tout le systeme du d'echange de message du tchat est planté, je suis obligé de kill le processus (le serveur java etant sur une debian) et de le relancer. Cela provient au bout de 30 min ou au bout de 5h, qu'il y ai 10 ou 80 personnes dessus.
N'etant pas dev java de base, il y a surement une erreur dedans mais je ne la voit pas. Merci pour vos futures réponses.