Reboot's personal page
Menu
Index

English:
CryptoFS
BitTorrent
NetDraw
Contributions

German:
Anime

Contact
 
 
NetDraw - A network drawing application in Java
© B.Sc. Christoph Hohmann

Introduction
NetDraw is a small application that allows an unlimited number of people to draw on the same virtual paper. Everyone can join the network and see what other people are drawing.

Purpose
Explaining things in words can sometimes be a real pain and a picture says more then thousand words. But starting a paint program, draw a sketch, upload it somewhere where other people can download and view it seemed to be too much work for a quick and dirty drawing that will be discarded after the other people have seen it. So the idea to have an application that allows other people to see directly what you are drawing was born. The result of the development is NetDraw. NetDraw does not only allow other people to see you drawing, but everyone can draw on the same paper. So if you make a sketch and someone has an idea how it could be modified he can make some changes to it too.

Usage
When you start NetDraw you will only have a small menu and the drawing area. You can start drawing immediately. But too bad noone will see what you are drawing. Every running NetDraw acts as server and client at the same time if the port it uses is not already in use. In that case it will only be a client. NetDraw uses the port 6346. This is actually the Gnutella port because I'm too lazy to forward another port on my NAT router. You can use the "Connect" menu entry to connect to other people running NetDraw or let other people connect to you. When you have connections to other NetDraws you will see the list of peers in the "Disconnect" menu. Selecting a connection from this menu will disconnect the peer from the network. You don't need a special server. You can create any kind of network you like. One NetDraw can work as a hub for all client or you can have a chain of clients where everyone is only connected to 2 other peers. Peers can join and leave the network at any time.

How it works
Whatever you draw is transmitted to the connected peers and the NetDraw there will perform the same operation. Operations that are received from one peer will be retransmitted to the other peers that are connected. NetDraw only transmits the drawing operations and never the whole drawing. So if a peers joins the network after something has been drawn it will only see the things that are drawn after the peer joined. The peer can even have a totally different drawing before it joins. So you probably should clear the drawing from time to time and start over with a clear page for all clients from time to time.

Running NetDraw
NetDraw is a Java application to you need a Java Runtime Environment (JRE) or Software Development Kit to (SDK) run it. With an installed JRE/SDK you can run the NetDraw.jar file. On Windows you can do this from the explorer with a doubleclick. On other plattforms you can run it from the commandline with
java -jar NetDraw.jar

Downloads
NetDraw NetDraw 1.0
Java JRE/SDK Sun's Java Pages