I am thinking of making a little program in which two users would have a drawing canvas and on which they could both draw over the internet and the image would be synchronised. if i draw a line ..the user on the other computer would see it instantly.
I was hoping that some of you could have an any advice or documentation, or suggestion on how i could achieve something like this.
Personally..i was thinking of using a sql server, finding a way to draw and save an image..and convert it to bytes..save it in a database and constantly downloading the image, but that could kill the server.
BTW... this is a windows forms app
You won't have the bandwidth to transmit the entire image that quickly.
You don't want to transmit the image at all since, for example, if you paint a stroke over an area at the same time the other person does, you'll have no way to reconcile the two paint strokes in the same area.
The best thing to do would be to define tools and capture user input, then transmit the user actions with timestamps to keep track of who did what first. For example, if you use a Pen tool, and drag it across the screen to create a line, you would want to transmit information like:
This action can then be re-created on the other client(s).
If you are looking to do something like this, make sure you do the client side/single user code first. If you don't have a canvas drawing application yet, don't get ahead of yourself with the networking portion. Just design it in a way where each action can be reduced to data as shown above. So you'll have the data needed to transmit and reproduce the action.