Bonjour à tous (et à toutes),

Je commence un peu à regarder ce qu'on peut faire avec flash et je voudrais faire un serveur java tout bête.
j'ai pris l'exemple d'adobe pour le côté serveur :

Code : 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.io.*; 
import java.net.*; 
 
class SimpleServer 
{ 
	private static SimpleServer server; 
    ServerSocket socket; 
    Socket incoming; 
    BufferedReader readerIn; 
    PrintStream printOut; 
 
    public static void main(String[] args) 
    { 
        int port = 8080; 
 
        try 
        { 
            port = Integer.parseInt(args[0]); 
        } 
        catch (ArrayIndexOutOfBoundsException e) 
        { 
            // Catch exception and keep going. 
        } 
 
        server = new SimpleServer(port); 
    } 
 
    private SimpleServer(int port) 
    { 
        System.out.println(">> Starting SimpleServer"); 
        try 
        { 
            socket = new ServerSocket(port); 
            incoming = socket.accept(); 
            readerIn = new BufferedReader(new InputStreamReader(incoming.getInputStream())); 
            printOut = new PrintStream(incoming.getOutputStream()); 
            out("Enter EXIT to exit.\r"); 
            boolean done = false; 
            while (!done) 
            { 
                String str = readerIn.readLine(); 
                if (str == null) 
                { 
                    done = true; 
                } 
                else 
                { 
                    out(str);
                    if(str.trim().equals("EXIT")) 
                    { 
                        done = true; 
                    } 
                } 
                incoming.close(); 
            }
            if(done == true)
            {
            	out("Déconnecté");
            }
        } 
        catch (Exception e) 
        { 
            System.out.println(e); 
        } 
    } 
 
    private void out(String str) 
    { 
        printOut.println(str.trim()+ (char)0x00);
        printOut.flush();
        System.out.println(str); 
    } 
}
et du côté client, j'ai cela :

Code : 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package {
 
		import flash.net.XMLSocket;
		import flash.events.DataEvent;
		import flash.events.MouseEvent;
		import flash.events.Event;
		import flash.display.MovieClip;
 
	public class Main extends MovieClip {
 
		var _socket:XMLSocket;
 
		public function Main() {
			// constructor code
			this._socket = new XMLSocket();
			this._socket.connect('127.0.0.1',8080);
			this._socket.addEventListener(DataEvent.DATA, reponse);
			this._socket.addEventListener(Event.CLOSE, handlerDeConnexion);
			btnEnvoyer.addEventListener(MouseEvent.CLICK, envoyer);
 
		}
 
 
		private function reponse(event:DataEvent):void 
		{ 
			  txtReponse.text = event.data; 
 
 
		}
 
		private function handlerDeConnexion(event:Event):void{
 
			trace ("DECO !");
		}
 
		public function envoyer(event:MouseEvent):void{
 
 
			_socket.send(txtChaine.text+"/n");
		}
 
	}
 
}
Lorsque je lance l'application, mon textfield txtReponse se remplace bien par "Enter EXIT to exit." mais lorsque j'envoie une chaine de caractère au serveur à l'aide d'un input, il ne m'affiche rien.

Dans la console non plus, c'est au moment ou je ferme mon application que le serveur affiche (dans la console) "Echo :" et les chaines de caractères que j'ai envoyé suivi d'un espace (alors qu'il aurait dû mettre un "Echo : " par chaine de caractère).

Voilà, je ne comprends pas bien d'où ça vient et comment résoudre ce problème.


D'avance, merci =D