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
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : COURRE : COUR par barhoum1111
Cliquez pour lire la suite par barhoum1111
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|