140 likes | 295 Views
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
E N D
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
Programming Hurdles • Updating User Interface Controls Across Threads • - C# delegates/events used • Server Crash after Client Logs Off • - 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_messaging • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/default.asp • http://www.skullbox.net/tcpudp.php
IMDraw Message Protocol-Supplemental IMDraw|<Sender>|<Receiver>|<Command>|<TextDetails>|<Point1 x>|<Point1 y>|.... • Command: Login(0), Logout(3), Message(1), ClientList(2)
Client/Server Advantages Server Manages Data Supports Off-line Messages Disadvantages Single Point of Failure P2P Advantages Performance Advantages with P2P Broadcasting File-Transfers Disadvantages Lower Performance with Heavy Loads Design Decisions: Client/Server vs. Peer to Peer Model-Supplemental
TCP Advantages Connection Disruption Detection More Reliable (retransmits when necessary) Detects Congestion in the Network Disadvantages Slower UDP Advantages Fast, Simple Low Delay (no transmissions) End-to-End Encryption Near Real Time transmission Disadvantages Possible out-of-order delivery of messages Design Decisions: TCP/IP vs. UDP Message Protocol-Supplemental