Transcript IMDraw

IMDraw
An Instant Message and Drawing
Program
Tim Poley
Kelly Whitacre
Agenda






Background
IMDraw Design Decisions
Programming Hurdles
Future Work
Demonstration
Questions
Background


Early Instant Messaging- Talk
Big Players Today





AIM
MS Messenger
Jabber
Trillian
Why IMDraw?
Design Decisions



C# Programming Language
Server/Client Model
TCP Internet Protocol
Design Diagram
Programming Hurdles

Updating User Interface Controls
Across Threads


Server Crash after Client Logs Off


- C# delegates/events used
- proper termination of threads used
TCP Connection Terminates before it
Sends Logout Message to Server
Future Work






Secure Message Transfer
UDP Message Protocol
Multicasting
User Defined Buddy Lists
Add Additional Capabilities to Drawing
Tool
Streamline Messages
References



http://en.wikipedia.org/wiki/Instant_me
ssaging
http://msdn.microsoft.com/library/defau
lt.asp?url=/library/en-us/default.asp
http://www.skullbox.net/tcpudp.php
Questions?
Demonstration
IMDraw Message ProtocolSupplemental
IMDraw|<Sender>|<Receiver>|<Command>|
<TextDetails>|<Point1 x>|<Point1 y>|....

Command: Login(0), Logout(3), Message(1),
ClientList(2)
Design Decisions: Client/Server vs.
Peer to Peer Model-Supplemental

Client/Server

P2P

Advantages
 Server Manages
Data
 Supports Off-line
Messages

Advantages
 Performance Advantages
with P2P Broadcasting
 File-Transfers

Disadvantages
 Single Point of
Failure

Disadvantages
 Lower Performance with
Heavy Loads
Design Decisions: TCP/IP vs. UDP
Message Protocol-Supplemental


TCP

Advantages





Slower
Advantages

Connection Disruption
Detection
More Reliable
(retransmits when
necessary)
Detects Congestion in
the Network
Disadvantages

UDP




Fast, Simple
Low Delay (no
transmissions)
End-to-End Encryption
Near Real Time
transmission
Disadvantages

Possible out-of-order
delivery of messages
TCP-Supplemental