Chat - serveur et client(applet) - assez simple

Soyez le premier à donner votre avis sur cette source.

Vue 51 948 fois - Téléchargée 41 421 fois

Description

Ce chat assez simple est destiné à ceux qui voudraient créer leur propre chat à partir d'un exemple.

Le serveur est composé de deux classes : Serveur.java et ServeurDialogue.java. Le client est une applet composée d'une seule classe : Client.java. Cette applet est contenue dans la page web index.html
Le client et le serveur communiquent directement par sockets. Pour voir plus précisemment le fonctionnement de ce chat, vous pouvez lire les commentaires présents dans les classes.

Pour tester ce chat chez vous en local :
- lancer le serveur à partir d'une fenêtre DOS ou équivalent, en lui précisant le numéro de port sur lequel les clients vont se connecter. Par exemple si on choisit le port 15000, taper: "java Serveur 15000"
- changer les paramètres du client dans la page index.html. Dans cette page on envoie les paramètres ipServeur et portServeur à l'applet (<param name="ipServeur" value="localhost"> et <param name="portServeur" value="15000">). Bien vérifier que ipServeur a pour valeur "localhost", et mettre comme valeur à portServeur le no de port qu'on a choisi pour le serveur, juste avant.
- ouvrir deux fois (ou plus) index.html avec un navigateur (ex: Internet Explorer), pour pouvoir simuler 2 personnes qui se parlent. Le navigateur doit être capable de lire les applets, avec au moins une version 1.2 de java je crois (car j'utilise des composants Swing)
- mettre un nom de login différent dans les 2 fenêtres, puis chatter...

Pour utiliser ce chat sur internet :
C'est plus compliqué, car le serveur de chat est un programme java, et peu d'hébergeurs accepteront de faire tourner votre programme java sur leurs machines (surtout pas les gratuits!). Donc si vous ne voulez pas dépenser d'argent, il faut héberger le serveur de chat sur votre propre ordinateur. Et du coup il faut également héberger le client de chat sur votre ordi, car pour une raison de sécurité les applets ne peuvent pas se connecter à un programme qui est sur une autre machine que leur hébergeur. Les étapes à faire sont donc :
- installer un serveur web quelconque sur votre ordinateur (ex : easyphp), dans lequel on mettra la page index.html et l'applet client.
- mettre l'adresse IP de votre ordinateur pour l'attribut ipServeur Dans la page index.html
- lancer le serveur de chat comme pour le test en local.
Les internautes pourront alors se connecter au chat en allant sur l'adresse http://votreAdresseIP:portDuServeurWeb/index.html . Dernière chose à savoir : il est probable que votre adresse ip soit différente à chaque fois que vous vous connectez à internet (cela dépend du fournisseur d'accès). Si c'est le cas il y a des sites qui proposent de vous donner une adresse permanente qui redirige vers votre adresse ip, en la mettant à jour dès qu'elle change (ex : http://60gp.ovh.net/~asipadan/ipdynamique/).

Codes Sources

A voir également

Ajouter un commentaire Commentaires
loscovic Messages postés 7 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 28 avril 2008
10 févr. 2005 à 23:45
bizarrrrrre! il ne marche pas ton truc!
il n'affiche rien du tout ou es ce ke je l'utilise mal
cyberdog94 Messages postés 6 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 30 mai 2005
11 févr. 2005 à 03:17
Ton code est vraiment bien écrit je l'ai pas testé mais il résoud mon problème qui était de redistribuer un message à tous les clients. Je cherche cependant un moyen de réaliser le chat sans utiliser ta classe ServeurDialogue. Le problème consiste à donner le moyen à un thread d'invoquer directement les méthodes de son créateur (ie la classe Serveur). Mais j'avoue qu'après quelques heures sur google j'ai vite vu que c'était assez compliquer. Au point que certains codeurs utilisent la fonction de sérialisation de Java (transfert d'objets entre classes par fichiers !) mais je suis sûr qu'il y a un moyen plus propre, évitant cette méthode ou du moins l'instanciation de X servers pour X clients. Si quelqu'un connait le procédé, merci de le faire savoir.
forX Messages postés 19 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 30 septembre 2011
20 janv. 2009 à 03:49
je suis débutant en java,
il est tu possible que le serveur se démarre en applet ou avec un cgi/php
tyah Messages postés 2 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 11 février 2009
11 févr. 2009 à 04:51
Cool simple et rapide.
Nickel pour un chat local.
AlnamKelly Messages postés 1 Date d'inscription dimanche 4 décembre 2011 Statut Membre Dernière intervention 10 septembre 2011
10 sept. 2011 à 17:13
merci, j'en avais vraiment besoin
en plus je cherche un algorithme codé de flot maximal en recherche opérationnelle si quelqu'un pouvait m'aider
merci davance

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.