2009-09-21 5 views
0

J'ai fait une application de pinceau très basique en java.Partager mon application Paint Brush sur un réseau

Je veux améliorer cette application pour qu'elle soit partagée entre les utilisateurs sur Internet afin que nous puissions partager l'instance simultanément et travailler en collaboration sur l'écran de peinture. [J'ai cette idée à partir du travail de doodle env dans yahoo messenger]

Je ne suis pas sûr si cela serait réalisé par le réseautage? (Comme nous faisons une application de chat.) Dans une application de discussion, deux utilisateurs travaillent sur le même écran et discutent.

Mais à la place j'ai un tableau et deux utilisateurs vont envoyer des messages à dessiner sur l'écran.

Mais je ne peux vraiment pas penser à la façon d'aborder l'architecuture de cette application. Toutes les astuces, les pointeurs ou les liens de conception seront d'une grande aide.

Merci

Répondre

2
  1. Faire un protocole texte décrivant toute action que l'utilisateur peut faire avec votre application. Par exemple.

    • Définissez la couleur de premier plan sur rouge, par ex. "SetForegroundColorChange (RED)"

    • Set forme de brosse pour B1: "SetBrushShape (B1)"

    • Mettez un point de couleur/forme actuelle aux coordonnées X, Y: "Paint (X, Y)"

    • Effacer point à coordonnées X, Y (espérons pas plus d'exemples nécessaires)

    • Document Redimensionner

    • Nouveau document

    • ... etc

  2. L'architecture de l'application serait:

    • gestionnaire d'événements GUI, qui convertit les événements de l'interface graphique en commandes de protocole et envoie le protocole des commandes à deux endroits, la gestionnaire de protocole AND communicateur de réseau

    • Gestionnaire de protocole, qui lit les commandes de protocole (données par le gestionnaire d'événements de l'interface graphique ou le module d'écoute du communicateur du réseau) et les appels appr opérer la méthode d'application, par ex. 'changeForegroundColor ("red")' pour le premier exemple de message ci-dessus.

    • communicateur réseau, composé de l'expéditeur (qui envoie simplement des commandes de protocole à partir du gestionnaire d'événements de l'interface graphique de votre application à d'autres applications, dans exactement le même client moyen de chat serait, et un auditeur qui accepte les commandes de protocole sur le réseau de d'autres applications, à nouveau dans exactement de la même manière que le client de chat serait, et envoie ces commandes au gestionnaire de protocole.

Vous devez également trouver un moyen de traiter les problèmes de concurrence (par exemple deux applications de dessin à la fois des points de différentes couleurs dans le même endroit en même temps).

Espérons que cela soit suffisamment clair.

NOTE: Cette réponse suppose que vous savez comment écrire une application de base de discussion et souhaite simplement savoir comment appliquer cette compétence à une application de peinture partagée. Si j'ai déduit cela incorrectement de votre message, vous devrez également apprendre comment faire une application de base de chat pour utiliser l'architecture ci-dessous, qui est généralement couvert dans ABY basic Java Networking (ou juste Java) manuel/classe, donc je ne vais pas écris celui-là.

+0

merci d'avoir une meilleure image maintenant. Je suis sûr que cela va m'aider à démarrer. – krisp

Questions connexes