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