Tutorial Client/Serveur

Création d'une connexion Client/Serveur via Socket

Nous allons etudier ici, un petit exemple d'application Client/Serveur de la class neko.net.Socket.

Client :

// fichier Client.hx
class Client {
    static function main() {
        var s = new neko.net.Socket();
        s.connect(new neko.net.Host("localhost"),5000);
        while( true ) {
            var l = s.input.readLine();
            trace(l);
            if( l == "exit" ) {
                s.close();
                break;
            }
        }
    }
}

Serveur :

// fichier Server.hx
class Server {
    static function main() {
        var s = new neko.net.Socket();
        s.bind(new neko.net.Host("localhost"),5000);
        s.listen(1);
        trace("Starting server...");
        while( true ) {
            var c : neko.net.Socket = s.accept();
            trace("Client connected...");
            c.write("hello\n");
            c.write("your IP is "+c.peer().host.toString()+"\n");
            c.write("exit\n");
            c.close();
        }
    }
}

Le fichier HXML pour construire les deux projets :

# client_server.hxml
-neko client.n
-main Client.hx

--next
-neko server.n
-main Server.hx

Compiler avec la commande suivante :

haxe client_server.hxml

Ouvrez deux terminal : dans le premier, lancez le serveur grâce à la commande :

neko server.n

dans le deuxième, lancez le client grâce à la commande :

neko client.n

Le serveur envoie quelques données que le client affiche, puis quand le "exit" est reçu, le client quitte et le serveur attend un autre client.

Clients Multiple

Si vous desirez pouvoir parler à plusieurs clients en même temps, vous pouvez utiliser la méthode neko.net.Socket.select pour un multiplexing et/ou l'API Thread pour créer une application à plusieurs threads.

Regardez aussi : Exemple de Chat Flash/Neko

version #4680, modified 2008-10-08 14:48:49 by djleop