Tải bản đầy đủ (.pdf) (7 trang)

Đồ án lập trình socket

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (149.03 KB, 7 trang )

ĐỒ ÁN THỰC HÀNH CUỐI KỲ
Mơn Mạng Máy Tính Nâng Cao
Lớp 10HC Năm học 2010 - 2011
[Quy định]
 Tất cả các sinh viên đều phải làm và nộp đồ án (lần 1 và lần 2)
 Thang điểm của đồ án môn học: 7/10 điểm cho phần code và 3/10 điểm cho phần
thiết kế giao thức, cấu trúc dữ liệu lưu trữ của chương trình.
• Lần 1:
♦ Nội dung: xem mơ tả chi tiết ở mục “Yêu cầu nộp đồ án Lần 1” bên dưới
♦ Thời gian: 30/9/2011
• Lần 2 và vấn đáp:
♦ báo cáo + code hoàn chỉnh
♦ Thời gian nộp bài trên moodle: 29/10/2011
♦ Thời gian vấn đáp: Sẽ Thông Báo Cụ Thể Sau
 Đồ án được làm theo nhóm: mỗi nhóm gồm 3 sinh viên. Điểm cho mỗi sinh viên trong
nhóm có thể khác nhau tuỳ thuộc vào phần đóng góp của mỗi sinh viên trong đồ án.
 Đồ án sẽ được chấm vấn đáp trực tiếp với giáo viên vào cuối học kỳ. Ngoài nội dung
chấm trực tiếp, bài làm của sinh viên sẽ được nộp lại dưới hình thức upload lên FTP.
Giáo viên có quyền u cầu các nhóm tác giả bất kỳ lên gặp trực tiếp lại giáo viên nếu
sau quá trình chấm vấn đáp có phát hiện có sự giống nhau giữa đồ án của các nhóm.
 Khi phát hiện có trường hợp giống nhau giữa các nhóm, tất cả các nhóm liên quan sẽ
đều bị điểm 0 phần đồ án môn học bất kể lý do gì.
 Khơng chấp nhận trường hợp nộp bài/chấm bài trễ hạn nào. Thời hạn nộp bài được quy
định trên website chính thức của mơn học /> Sau khi chấm bài/nộp bài, sinh viên vẫn tiếp tục theo dõi trang web của mơn học, để có
được các thơng báo mới nhất / danh sách đã nộp bài thực hành hay điểm thực hành.

[Liên hệ]
Trang 1


Mọi thắc mắc có liên quan đến nội dung đồ án thực hành sinh viên gởi lên diễn đàn môn


học.

[Mô tả đồ án]
Xây dựng chương trình Chia sẻ File Peer-to-Peer
Mơ tả các chức năng chính của chương trình:
 Chương trình được xây dựng dựa trên mơ hình Server - Client.
 Server:
• Cho phép nhiều client kết nối đến và gởi yêu cầu đồng thời.
• Quản lý các client kết nối đến Server bằng một định danh. Với mỗi client, client chỉ
cần đăng ký định danh ở lần kết nối đầu tiên; các lần kết nối sau client chỉ cần gởi
thông tin đã đăng ký lên server.
• Quản lý tập trung những file được chia sẻ trên các client (giả sử: xem mỗi file được
chia sẻ trên mỗi client là khác nhau).
• Cho phép các client được tìm kiếm các file được chia sẻ.
 Client
• Cho phép chia sẻ file trên máy của mình.
• Gởi u cầu tìm kiếm các file được chia sẻ bởi các máy khác lên Server và nhận kết
quả từ Server.
• Cho phép chọn download một file kể cả khi client chứa file đó offline và việc thực
hiện download sẽ bắt đầu ngay khi client kia online
• Cho phép download nhiều file (từ 1 client hay từ nhiều client) cùng lúc
 Chương trình cần cài đặt các cơ chế song song hóa và đồng bộ sao cho đảm bảo khơng
xảy ra xung đột trong q trình q trình xử lý.
 Chương trình phải hỗ trợ việc truyền nhận file lớn (>10MB).
 Chương trình phải hỗ trợ được nhiều client truy cập cùng lúc nhưng vẫn đảm bảo các
thao tác khác.
 Có khả năng thay đổi các port của các chương trình client và server một các linh động.
 Giao diện tiện dụng không cần đẹp.
Trang 2



 Cho phép client dừng quá trình download của file và resume lại.
 Cho phép client resume lại quá trình download khi bị đứt kết nổi (có thể do mạng trục
trặc, mày bị cúp điện)…
 Cho phép một file có thể được chia sẻ bởi nhiều client, và cho phép client được quyền
chỉ ra client mà mình muốn download file đó.

 Các chức năng nâng cao: (phần cộng điểm, khơng bắt buộc)
• Khi thu nhỏ chương trình tạo tray icon.
• Hộ trợ download đồng thời nhiều phần của 1 file trên cùng 1 client hoặc nhiều client
khác nhau
• …

[Tiêu chí đánh giá]
Các nhóm cần Xây dựng chương trình và viết báo cáo cho chương trình “Chia sẻ File
peer-to-peer”:
 Về chương trình:
• Mục tiêu của đồ án này tập trung chủ yếu vào 3 vấn đề: lập trình socket, đa tiểu trình,
thiết kế protocol. Do đó các tiêu chí đánh giá sẽ dựa chính vào 3 yếu tố này. Cụ thể, xuất
phát từ các mô tả được đưa ra ở phần mô tả ở trên, sinh viên phải thiết kế được giao thức
, nhận diện ra được các vấn đề đa tiểu trình, và sử dụng Socket để hiện thực hóa đồ án
trên. Khơng địi hỏi giao diện cầu kỳ, tuy nhiên vẫn khuyến khích giao diện đẹp và dễ sử
dụng.
• Đồ án không yêu cầu SV phải tổ chức database phức tạp, chỉ cần đáp ứng được yêu cầu
lưu các thơng tin cần thiết đã nêu (có thể lưu dữ liệu dưới dạng file có cấu trúc, XML,
…).
• Sinh viên cần cài đặt TẤT CẢ các yêu cầu được chỉ rõ ở phần mơ tả trên.
• Chương trình được cài đặt sử dụng mơ hình đa tiểu trình (multi-thread), sử dụng cơ chế
trao đổi thông tin bằng Socket


Trang 3


 Về báo cáo:
• Báo cáo viết phải thể hiện được rõ nét mơ hình cài đặt, thiết kế chương trình, protocol (
kịch bản trao đổi dữ liệu giữa client – server, client - client, cấu trúc gói tin, life –cycle),
đa tiểu trình, liên lạc đa tiểu trình.
• Sinh viên phải xây dựng được các testcase để thể hiện được các mục tiêu mà bài tập yêu
cầu (đa tiểu trình như thế nào, đồng bộ ra sao, nếu không thực hiện đồng bộ thì kết quả
có gì khác so với khi thực hiện đồng bộ, liên lạc đa tiểu trình đã được thể hiện qua
trường hợp test gì …). Tất cả các trường hợp này phải được trình bày thơng qua báo cáo
viết.
• Báo cáo cần có bảng phân cơng và cho biết rõ ràng ai làm việc gì. Khơng thể hiện dưới
dạng chung chung theo kiểu chia đều công việc hay cùng làm mọi việc.
• Trong báo cáo khơng dán các đoạn source code của tồn bộ chương trình. Mã chương
trình chỉ trình bày nếu thật sự cần thiết và nếu cần minh hoạ cho các mơ hình cài đặt hay
các cơ chế đồng bộ (minh hoạ dạng mã giả).

[Yêu cầu nộp đồ án lần 1]
 Thời gian nộp: (23h55’ ngày 30/09/2011)
o Lớp 10HCB nộp vào Link 10HCB_DoAnSocket_Lan1
o Lớp 10HCA2 nộp vào Link 10HCA2_DoAnSocket_Lan1
 Báo cáo:
o Các cấu trúc dữ liệu sử dụng trong chương trình
o Mơ tả cách lưu trữ dữ liệu.
o Protocol của chương trình.
o Code cài đặt được quá trình trao đổi giữa client và server
o Cấu trúc thư mục nộp bài
 Document: chưa document của chương trình chia làm 2 phần. phần 1
protocol (kịch bản trao đổi, life-circle, cấu trúc gói tin. Phần 2 gồm: test

case, thread, cấu trúc dữ liệu (nếu có) và format file. Chú ý ở lần 1 các
bạn chỉ cần nộp phần 1 của báo cáo
Trang 4


 Source: chứa source của chương trình
 Release: chứa chương trình thực thi
Ví Dụ: Giao Thức DHCP
Định dạng gói tin

Trang 5


Sơ đồ hoạt động

Trang 6


Trang 7



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×