Académique Documents
Professionnel Documents
Culture Documents
Dot Net
31/8/2014
Course Project
KazzaMic
1. General
In this project you will build a peer to peer (p2p) system for sharing files between users,
across IP networks (see Appendix 1).
The system will contain the following modules:
A. p2p WPF application. This is the application that the end users should use.
B. Mediation Server a collection of WCF or Web Services for handling client's
requests.
C. Administrator Management System ASP.NET Portal for administrative tasks,
and user's registration.
D. DAL (Data Access Layer) - A Class library for handling DB operations.
E. DB (SQL SERVER) - store system and users information.
1/6
2. Application specification
2.1 peer to peer client/server (30%)
2.1.1
WPF Application .
2.1.2
The client application will have a configuration file for Local TCP port (Tcp
8005 /Tcp 8006 default), Server IP Address, username, password, full path of the
public folder for published files, and full path of the folder for downloaded files.
The configuration file will be edit by GUI interface. The name of this file is:
MyConfig.xml
2.1.3
When you start the client it will check for a valid configuration file. If there is a
problem a message will appear.
2.1.4
If the Configuration file is OK, open a socket and wait for incoming request.
2.1.5
If the Configuration file is OK, connect to the server and sign in the user with a
list of files to share.
2.1.6
When you close the client it will sign out. Don't forget to dispose all resources, on
closing Client, Server.
2.1.7
The user can search for a file name. The application will call a method on the
server. (see 2.2.2). *means get all available files.
2.1.8
2.1.9
If the answer from the server is positive, the user will get a list of 1 or more users
that have the file, including user name, file size, IP, port.
After selecting one more from them(7 point), the client will automatically
connect to the remote peer and start downloading the file.
2.1.10 The client application will show the current status of each incoming / outgoing
file transfer.
2.1.11 Each player with client/server methods will run in asynchrony method.
2.1.12 After a successful file download, the client will show the total time, the file size,
and the bit rate (Kbps).
2.1.13 You decide about the format of the XML strings. Extra data is allowed.
2/6
3/6
3. Delivery
3.1 All code must be written in c#.
3.2 Documentation, Error handling, Validation input are all mandatory.
3.3 Due date 31.10.2014 you should hand in to the afeka web e-learning
site with zip file.
3.4 The zip file include:
Students Names, ID, Class, Lecturer, Mail, Cell Phone, manual for
installing, and using the application.
2-3 pages that explain the main classes, and methods, functionality in the
project, DB Schema, XML protocols, MyConfig File Format,
known
bugs
Manuel with instruction how to setup the application at Lab (You must
test it)
4. LAB Demo
4.1 Student's will get a date and time to install and protect their project in the lab.
4.2 On the specified time (3-10.11.2014 tentative) you should be ready to demonstrate
the project, answer questions, explain code flow, and add simple code functionality
to the project or simple implementations subjects of the course.
4.3 Make sure that IIS with Virtual directory is active.
4.4 Make sure the DB file has at least 5 records in each table.
Good Luck
4/6
5/6
SERVER
CLIENT
TCP 8005
:
<File>aaa.doc</File>
:
<File missing=false>
<FileName> aaa.doc </FileName>
<FileSize>1500</FileSize>
<BufferSize>1500</BufferSize>
</File>
, missing=false
:
<File missing=false>
<FileName> aaa.doc </FileName>
<FileSize>1500</FileSize>
<BufferSize>1500</BufferSize>
</File>
, missing=true
.
.CLIENT
,
, ,
.KBPS -
6/6