Solved

Whiteboard

Posted on 1998-12-15
12
157 Views
Last Modified: 2010-05-03
I need help to make a whiteboard using either IRC or some other TCP protocol. Thanks
0
Comment
Question by:Willy543
  • 3
  • 3
  • 2
  • +4
12 Comments
 
LVL 2

Expert Comment

by:obregoru
Comment Utility
That is worth about 1000 points or more!


0
 
LVL 1

Expert Comment

by:OeilNoir
Comment Utility
i could help you with TCP/IP, but what do you mean exactly by a "whiteboard"?
0
 

Author Comment

by:Willy543
Comment Utility
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
 
LVL 3

Expert Comment

by:myqlG
Comment Utility
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
 

Author Comment

by:Willy543
Comment Utility
How about if one person is drawing and everyone else can see it? How can i make everyone see it the same?
0
 
LVL 3

Expert Comment

by:Sendoh
Comment Utility
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
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 3

Expert Comment

by:Sendoh
Comment Utility
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
 
LVL 1

Expert Comment

by:OeilNoir
Comment Utility
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
 

Author Comment

by:Willy543
Comment Utility
Can you please send the source for your chat program. E-mail me at bart235@yahoo.com please Thanks!
0
 
LVL 1

Expert Comment

by:OeilNoir
Comment Utility
Sure, i can't send it before friday or saturday though... but i will send it.
0
 
LVL 3

Expert Comment

by:covington
Comment Utility
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
 

Accepted Solution

by:
cmpalmer earned 200 total points
Comment Utility
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

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now