Project Description
Transcription
Project Description
CSE471: DA TA COMMU NICAT IONS AND COMPUT ER NETWOR KS YEDITEPE U NIVERS ITY SP RI N G 20 1 5 TE R M P R O J EC T – D U E D A T E M AY 8 TH, 20 1 5 As a term project you are expected to develop a screencasting application. The application should use the centralized server model. The server should broadcast its screen output using UDP in the local network (Figure 1). However, your application should not overwhelm the network and bring on to a crash state. To prevent this, you should use some compression algorithms such as JPEG while sending single frames of the screen output. Figure 1: Client - Server Model Tutor’s PC should capture its screen and broadcast the captured frames to the network using UDP. The application on Student PCs should receive the broadcast and display screen captures of the tutor on the monitor. Figure 2: Screencasting application on Student PC In this network architecture there should be two separate applications; (1) one which will act as a streaming server and (2) one which will act as a client and display the broadcasted images. CSE471 Data Communications and Computer Networks Yeditepe University Figure 3 – Screencasting application on Tutor’s PC For usability purposes, you are required to implement a graphical user interface (GUI) for both client and server applications. The student (client-side) application should have two menus items called File and Help. The user should be able to connect and disconnect a screencasting session by clicking the Connect (in File -> Connect) and Disconnect (in File -> Disconnect) menu item. User should be able to exit the application by pressing the Exit menu item (in File -> Exit). The Help menu should contain information about the developer of the application. The tutor application (server-side) should constantly capture screenshots in fixed time intervals. The server should be able to accommodate multiple (7+) clients at the same time. The server and client application should implement a protocol so that it transfers the image data using UDP reliably. The tutor’s application should be able to list active users’ IPs (in File -> List Active Connections) and disconnect any user from session (File->Close Session to) [BONUS] Student PC should be able to save the captured image on their local drive. [BONUS] Client PC should be able to record the session, which means saving the incoming stream of images and turning them into a video at the end of the session. Submit your project source code in a zip file, which has your student number as name, using COADSYS by the end of Friday, May 8 th, 2015. All submitted source files will be check for plagiarism - among classmates and with any existing open source code available on the Internet. Furthermore, all students will be required to demonstrate their work for 30 minutes. DO NOT submit somebody else’s work. CSE471 Data Communications and Computer Networks Yeditepe University