I'm considering creating a little enter in which two customers might have a drawing canvas as well as on that they could both draw on the internet and also the image could be syncronised.basically draw a line ..the consumer alternatively computer would view it instantly.

I had been wishing that a number of you might have an any advice or documentation, or suggestion how i possibly could achieve something similar to this.

Personally..i believed of utilizing a sql server, finding a method to draw and save a picture..and convert it to bytes..save it inside a database and constantly installing the look, but that may get rid of the server.

Any help or suggestions are appreciated

BTW... this can be a home windows forms application

You will not possess the bandwidth to deliver the whole image that rapidly.

You won't want to transmit the look whatsoever since, for instance, should you fresh paint a stroke over a place simultaneously your partner does, you will have not a way to reconcile the 2 fresh paint strokes within the same area.

The very best factor to complete is always to define tools and capture user input, then transmit the consumer actions with timestamps to keep an eye on who did what first. For instance, if you are using a Pen tool, and drag it in all directions to produce a line, you would like to transmit information like:

  • User
  • DateTime stamp
  • Tool (Pen/Brush/etc.)
  • Color
  • Variety of points where they began to where they stopped drawing

This course of action may then be re-produced alternatively client(s).

If you're searching to behave such as this, make certain you need to do the customer side/single user code first. Without having a canvas drawing application yet, do not get in front of yourself using the networking portion. Just set it up in ways where each action could be reduced to data as proven above. So you will have the information required to transmit and reproduce the experience.

Socket.IO for Node.js will be a good solution with this. With Socket.IO you shouldn't have to poll a database or persist data in all forms. Every-time the consumer draws something, you would send the canvas data towards the server and also the server would then immediately send it towards the client.

For that drawing area you would use HTML5 canvas. There is a nice tutorial here about obtaining a fundamental drawing canvas ready to go.

If you are using ASP.Internet MVC, Jon Gallaway published an article on his blog about getting ready to go with Node.