IMDraw An Instant Message and Drawing Program Tim

  • Slides: 14
Download presentation
IMDraw An Instant Message and Drawing Program Tim Poley Kelly Whitacre

IMDraw An Instant Message and Drawing Program Tim Poley Kelly Whitacre

Agenda n n n Background IMDraw Design Decisions Programming Hurdles Future Work Demonstration Questions

Agenda n n n Background IMDraw Design Decisions Programming Hurdles Future Work Demonstration Questions

Background n n Early Instant Messaging- Talk Big Players Today ¡ ¡ n AIM

Background n n Early Instant Messaging- Talk Big Players Today ¡ ¡ n AIM MS Messenger Jabber Trillian Why IMDraw?

Design Decisions n n n C# Programming Language Server/Client Model TCP Internet Protocol

Design Decisions n n n C# Programming Language Server/Client Model TCP Internet Protocol

Design Diagram

Design Diagram

Programming Hurdles n Updating User Interface Controls Across Threads ¡ n Server Crash after

Programming Hurdles n Updating User Interface Controls Across Threads ¡ n Server Crash after Client Logs Off ¡ n - C# delegates/events used - proper termination of threads used TCP Connection Terminates before it Sends Logout Message to Server

Future Work n n n Secure Message Transfer UDP Message Protocol Multicasting User Defined

Future Work n n n Secure Message Transfer UDP Message Protocol Multicasting User Defined Buddy Lists Additional Capabilities to Drawing Tool Streamline Messages

References n n n http: //en. wikipedia. org/wiki/Instant_me ssaging http: //msdn. microsoft. com/library/defau lt.

References n n n 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?

Questions?

Demonstration

Demonstration

IMDraw Message Protocol. Supplemental IMDraw|<Sender>|<Receiver>|<Command>| <Text. Details>|<Point 1 x>|<Point 1 y>|. . n Command:

IMDraw Message Protocol. Supplemental IMDraw|<Sender>|<Receiver>|<Command>| <Text. Details>|<Point 1 x>|<Point 1 y>|. . n Command: Login(0), Logout(3), Message(1), Client. List(2)

Design Decisions: Client/Server vs. Peer to Peer Model-Supplemental n Client/Server n P 2 P

Design Decisions: Client/Server vs. Peer to Peer Model-Supplemental n Client/Server n P 2 P ¡ Advantages n Server Manages Data n Supports Off-line Messages ¡ Advantages n Performance Advantages with P 2 P Broadcasting n File-Transfers ¡ Disadvantages n Single Point of Failure ¡ Disadvantages n Lower Performance with Heavy Loads

Design Decisions: TCP/IP vs. UDP Message Protocol-Supplemental n TCP ¡ Advantages n n n

Design Decisions: TCP/IP vs. UDP Message Protocol-Supplemental n TCP ¡ Advantages n n n ¡ Slower Advantages n Connection Disruption Detection More Reliable (retransmits when necessary) Detects Congestion in the Network Disadvantages n UDP n n n ¡ Fast, Simple Low Delay (no transmissions) End-to-End Encryption Near Real Time transmission Disadvantages n Possible out-of-order delivery of messages

TCP-Supplemental

TCP-Supplemental