Accueil > Forum > > > > Problème de dessin en client serveur
Problème de dessin en client serveur
vendredi 14 mai 2004 à 14:30:18 |
Problème de dessin en client serveur

saispasq
|
Salut à tous, j'ai une application client serveur en java qui permet à un ensemble de clients de partager un dessin graphique et de dessiner ensemble des formes géométriques (cercles, rectangles, ...). Cette application ne permet pas aux clients qui se connectent en retard (aprés) de voir ce qui est dessiner avant. La source de cette application est disponible à l'adrese http://www.jibble.org/netdraw.php SVP, aidez moi à trouver une solution car c'est trés urgent pour moi et ca fait parti de mon examin. Merci d'avance. (SVP repondez moi vite) (j'ai posté ds plusieurs forums mais personne n'a pu me répondre, je compte sur vous)Merci.
|
|
samedi 15 mai 2004 à 09:55:04 |
Re : Problème de dessin en client serveur

kirua12
|
Salut,
j'ai regardé brièvement le code et c'est normal que les nouveaux clients ne voient pas ce qui s'est passé avant. Le serveur est juste chargé de la communication entre les clients. Il ne stocke pas les différentes action déjà effectuées. Pour qu'un nouveau client récupère les dessins il faut lui envoyer la liste des actions correspondant aux dessins. Le serveur doit stocker cette liste et quand un nouveau client arrive il lui envoie ces actions. Après se pose le problème de 'jusqu'à quand on remonte dans le temps', c'est à dire quelle est la quantité d'actions que le serveur doit conserver. Il faut prévoir un système pour vider l'historique.
|
|
samedi 15 mai 2004 à 12:57:58 |
Re : Problème de dessin en client serveur

hhouneida
|
Salut, Merci pour votre réponse, mais est ce que tu peux m'aider un peu à faire ce travail , juste comment commencer car dés que je touche le code je suis bombardé des erreurs. Je ne sais pas d'ou commencer ...
|
|
samedi 15 mai 2004 à 13:22:33 |
Re : Problème de dessin en client serveur

kirua12
|
Je te donne quelques pistes pour commencer et si tu as du mal je te donnerais le code. Il faut dans la classe NetDrawServer une liste des actions déjà effectuées. Cette liste sera passée aux ClientHandler. Dans la classe ClientHandler il faut là aussi ajouter cette liste. Quand un client se connecte (la partie correspondant au if (tokens[0].equals("join"))) il faut lui envoyer la liste des actions Et dans la classe ClientInputThread il faut ajouter dans la liste l'action qu'on vient de recevoir.
Voilà !!! bon courage !!
|
|
samedi 15 mai 2004 à 13:45:21 |
Re : Problème de dessin en client serveur

hhouneida
|
Je te remerci beaucoup, mais j'ai du mal à avancer, SVP donnez moi du code...
|
|
samedi 15 mai 2004 à 14:02:49 |
Re : Problème de dessin en client serveur

kirua12
|
public class NetDrawServer { private List actions; ... public NetDrawServer(int port) { this.port = port; actions = new Vector(); } ... public void launch() { ... while (running) { try { Socket socket = serverSocket.accept(); ClientHandler handler = new ClientHandler(socket, clientList, actions); handler.start(); } catch (IOException e) { System.out.println("Somebody jibbled up their connection when connecting."); } catch (Exception e) { System.out.println("Somebody tried to join the server in a jibbly way."); } } ... }
|
public class ClientHandler extends Thread {
private List actions; ... public ClientHandler(Socket socket, ClientList clientList, List actions) { this.socket = socket; this.clientList = clientList; this.actions = actions; } .... public void run() { ... if (tokens[0].equals("join")) { name = tokens[1]; ClientOutputThread clientOutputThread = new ClientOutputThread(clientList, firstLine); clientOutputThread.start(); //Envoie de la liste des actions effectuées précédemment bwriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); Iterator iterator = actions.iterator(); while (iterator.hasNext()) { writeLine((String) iterator.next()); } } else { socket.close(); return; } ...} ... public synchronized void addAction(String action) { actions.add(action); }
}
|
public class ClientInputThread extends Thread { ... public void run() { ... clientHandler.addAction(line); ClientOutputThread clientOutputThread = new ClientOutputThread(clientList, line); clientOutputThread.start(); ... } }
|
|
|
samedi 15 mai 2004 à 14:14:19 |
Re : Problème de dessin en client serveur

saispasq
|
Merci Kirua12, je vais essayé ce code.
|
|
lundi 17 mai 2004 à 12:54:47 |
Re : Problème de dessin en client serveur

saispasq
|
Salut, Merci Kirua12 votre code marche trés bien. Tu m'as bien aidé. Mais j'ai encore du problème. Je veux créer des sessions pour quelques utilisateurs : c.a.d je veux que un certain nombre de clients dessinent ensemble, et si un client qui n'appartient pas à cette session il lui faudra créer une nouvelle session: plusieurs sessions qui s'éxécutent en parallèle. Premièrement, est ce que cela est faisable avec cette application de client seveur, et si oui comment il faut que je procéde. je vous remercie beaucoup mon ami.
|
|
lundi 17 mai 2004 à 20:32:58 |
Re : Problème de dessin en client serveur

kirua12
|
si j'ai bien compris tu veux créer des salons de discussions (chatrooms). Oui c'est possible. Il faut que le serveur gère la liste des salons. Au lieu d'avoir une seule liste de clients, il y a maintenant une liste (salons) de liste (clients). Le mieux se serait une Map avec comme clé l'identifiant du salon. Il faut aussi modifier le protocole de communication client serveur pour que le client indique dans quel salon il veut aller. Bref rien de bien compliqué...
|
|
mardi 18 mai 2004 à 14:12:14 |
Re : Problème de dessin en client serveur

saispasq
|
Est ce que tu peux m'aider à faire cela?
|
|
Cette discussion est classée dans : problème, application, serveur, client, dessin
Répondre à ce message
Sujets en rapport avec ce message
problème de socket en j2me [ par PNLM ]
Bonjour, J'ai réalisé une application client/serveur en java. Le client est une application en J2ME (qui permet d'envoyer des images, vidéos...) et l
application client serveur [ par Memmesse ]
Bonjour c ma première interrogation !! Donc j'espere avoir une réponse encourageante.. Je développe pour la première fois une application client serve
application client serveur [ par pseudo85 ]
Bonjour,je voudrais savoir si c'est possible de développer une application client serveur en utilisant les frames de JBuilder. si oui, comment faire?
Application Client/Serveur FTP en Java [ par medalihentati ]
Salut!Aidez moi!!!J'ai un travail à rendre qui consiste en une application Client/Serveur FTP (Java)(avec une interface pour le client et une autre p
Problème de réception en rtp [ par GIGN90 ]
Bonjour à tous voilà j'ai une p'tite question. Je suis entrain de faire un programme client/serveur qui est en gros un chat audio où j'utilise RTP. Mo
client serveur avec application fenêtrée ou servlet [ par amelA ]
Bonjour,je dois développer une application client/serveur, mais j'hésite entre: - l'utilisation de deux applications fenêtrées (une pour le client et
Transfert de fichier via une appli web entre un client et le serveur d'application [ par acoue ]
Bonjour à tous, comme indiqué dans le titre,je dois faire un upload entre le disque dur du client et le serveur. Mon idée avait été la suivante : d
[Question] Application client/Serveur utilisant JDBC [ par low_freak ]
[Question] Application client/Serveur utilisant JDBC Bonjour à tous, Je recherche de l'information concernant , le passage de flux de donnée du serveu
application C/S [ par anisneo1 ]
hello every bodyje dois developper une application qui simule un distributeur automatique de boison.le serveur envoit la liste des produit , le client
Mini application client-serveur [ par juanfabregas ]
Bonjour le forum, Je souhaite developper une petite application Client / Server / Bdd avec Java mais pour commencer ,j'aimerai bien assimiler les opér
Livres en rapport
|
Derniers Blogs
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|