• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 169
  • Last Modified:

Whiteboard

I need help to make a whiteboard using either IRC or some other TCP protocol. Thanks
0
Willy543
Asked:
Willy543
  • 3
  • 3
  • 2
  • +4
1 Solution
 
obregoruCommented:
That is worth about 1000 points or more!


0
 
OeilNoirCommented:
i could help you with TCP/IP, but what do you mean exactly by a "whiteboard"?
0
 
Willy543Author Commented:
A Whiteboard is a shared drawing between many people. The hard part about is making them all synchronized together. Everyone must be seeing the same drawing. And when they change something on the drawing it shows up on all the people's screens. Thanks for any help!
0
Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

 
myqlGCommented:
This is not a simple thing... You can have picture boxes
and allow people to write on them..then send the picturebox
to the next person and BUT that person could have written
on there picture box..so there is an XOR or somilar
THEN take THAT to the next person..etc.. etc.. etc..
ugly and slow.. but workable
0
 
Willy543Author Commented:
How about if one person is drawing and everyone else can see it? How can i make everyone see it the same?
0
 
SendohCommented:
Hi !
You can try implement a common picture act as server and everybody access to the same server.
This achive this, DCOM if you choice.

Hope it'll help you !!
0
 
SendohCommented:
Hi !
You can try implement a common picture act as server and everybody access to the same server.
To achive this, DCOM if you choice.

Hope it'll help you !!
0
 
OeilNoirCommented:
ohhhhhhhhhhhhhhhhhhhhhhhh... i had planned to do such a thing for the TCP/IP multi-user chat program i'm making...

 i have not started to do mine yet, but i had though HOW to do it..
What part are you at? just drawing and sending the datas? or you still working on
establising the connection? i could give you the source code of the chat program i started
to do with a friend.. it was planned to easily introduce such a thing.
so, if this may help you, here how i planned to do mine.

we planned to simply draw lines with the command "line" and send the coordinate to the
other side, who would draw the line automaticaly.

i had also made a small drawer program as practice..

in the event MouseDown, it had a variable who was set to true
in the MouseMove, if that variable was set to true, it was drawing a line from the
1st coordinate it recived to the 2nd. it was keeping the coordinate of the 2nd position
to use it to draw the begining of the 2nd line.. and so on. until mouseUp and the variable is
turned to false.

all i needed to add to this code was to SEND the Coordinate using TCP/IP to the other(s) end(s) and the other side simply do object.line with the coordinate. This way have
not been tested, but i'm sure it will work... i could also send you the code (if i find it) of the
drawer if it can help you to understand better...
0
 
Willy543Author Commented:
Can you please send the source for your chat program. E-mail me at bart235@yahoo.com please Thanks!
0
 
OeilNoirCommented:
Sure, i can't send it before friday or saturday though... but i will send it.
0
 
covingtonCommented:
If you're trying to develop this as a product, don't bother. There's a good free one available already - MicroSoft's NetMeeting.

If you're trying to develop it for fun, good luck! It's a big challenge.
0
 
cmpalmerCommented:
I have implemented this exact function in a MUD type RPG chat program I am writing.  I'm not going to post the source code, but here is how I did it:

I'm using the Microsoft Chat control which gives you (fairly) easy access to IRC channels.

I wrote a simple drawing program for lines, text, color, boxes, circles and fills.  Kind of like Windows Paint.  This should be trivial for you.

Everytime an element is painted, I send a message through the IRC channel containing the data needed to recreate the paint action.  For example, a line might be:

<PNT>:L,X1,Y1,X2,Y2,Width,Color

And a clear screen might be:

<PNT>:CLS

My chat program recognizes messages with a <PNT> header as whiteboard commands and doesn't display them as text.  The next entry in the header (after the colon) tells what kind of paint action.  Then, I just parse the information from the message and re-draw it on the client whiteboard.

I also store each paint command in a collection, clearing the collection at each CLS.  If a client gets out of sync, it can send an "update me" message and receive all of the current drawing elements.  I can also write the contents of the collection to file to create my own metafile where drawings can be saved and loaded.  When one client loads a drawing, each line is sent to everyone and the picture is recreated.  Users can also lock out CLS messages.

The MS Chat control is a bit weird, but easily picked up.  I used a program called WIRCSRV, which is a Shareware IRC server, to do my local and small scale testing (and will be using it for the final version also, since I don't want to be flooding IRC channels with <PNT> messages :-)

Hope this gives you a framework!!

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 3
  • 2
  • +4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now