I. THÔNG TIN NM ............................................................................................................................ 3
II. PHÂN CÔNG CÔNG VIỆC HOÀN TNH .......................................................................... 3
III. NỘI DUNG ĐỒ ÁN ......................................................................................................................... 3
1. Kịch bản giao tiếp của chương trình: ............................................................................................... 3
1.1. Giao thức trao đổi giữa Client và Server ................................................................................. 3
1.2. Cấu trúc thông điệp .................................................................................................................. 3
1.3. Kiểu dữ liệu của thông điệp: .................................................................................................... 4
2. Môi trường lập trình các framework hỗ trợ để thực thi ứng dụng: .............................................. 4
3. Hướng dẫn sử dụng tính năng chương trình: .................................................................................... 4
4. Bảng phân công công việc................................................................................................................ 9
5. Tài liệu tham khảo ............................................................................................................................ 9
I. THÔNG TIN NHÓM:
Danh sách thành viên nhóm:
1. Hoàng Minh 23127427
2. Nguyễn Đăng Phôn 23127451
3. Nguyễn Nam Việt 23127517
II. PHÂN CÔNG CÔNG VIỆC HOÀN THÀNH:
III. NỘI DUNG ĐỒ ÁN:
1. Kịch bản giao tiếp của chương trình:
1.1. Giao thức trao đổi giữa Client Server:
- Chương trình 1:
Giao thức trao đổi giữa server client:
- Phía server:
Kết nối lắng nghe: Server lắng nghe các kết nối từ
Client trên địa chỉ IP và cổng được xác định.
Gửi danh sách File: Server đọc danh sách file từ file
“text.txt” và gửi danh sách này tới Client
Gửi file: Sau khi nhận yêu cầu từ client, server sẽ gửi dữ
liệu của file mà client cần.
- Phía client:
Client kết nối đến địa chỉ IP của server được nhập từ máy
chạy chương trình client.
Client nhận danh sách file in ra màn hình danh sách
y.
Client đọc tên các file từ “input.txt” để yêu cầu server gửi
dữ liệu cho client.
Xử Ctrl-C để thoát chương trình.
- Chương trình 2:
Giao thức trao đổi giữa server client:
- Phía server:
Kết nối lắng nghe: Server lắng nghe các kết nối t
Client trên địa chỉ IP và cổng được xác định.
Gửi danh sách File: Server đọc danh sách file từ file
Gửi file: Sau khi nhận yêu cầu từ client, server sẽ gửi dữ
liệu của file mà client cần.
- Phía client:
Client kết nối đến địa ch IP của server được nhập từ máy
chạy chương trình client.
Client nhận danh sách file và in ra màn hình danh sách
y.
Mỗi 2 giây Client sẽ đọc tên các file từ
Xử Ctrl-C để thoát chương trình
1.2. Cấu trúc thông điệp:
- Chương trình 1:
Header (Phần đầu):
Địa chỉ IP số cổng của server client.
Payload (Phần dữ liệu):
Data (Dữ liệu): Server gửi danh sách các file thể tải cho
client client gửi tên file cần tải cho server. Từ đó, server sẽ
gửi dữ liệu của file đó cho client.
Thông tin hóa: Dữ liệu được gửi đi sẽ được mã hóa dưới
dạng “utf-8”
Footer (Phần cuối):
Client nhận file đã tải u vào folder “Client_path”.
Kết thúc kết nối đến server của client bằng việc nhấn “Ctrl-
C”.
- Chương trình 2:
1.3. Kiểu dữ liệu của thông điệp:
dụng:
-
Kiểu dữ liệu của thông điệp được hóa dưới dạng “utf-8”. Các
yêu cầu phản hồi đều được chuyển dưới dạng chuỗi byte
được mã hóa/ giải mã bằng cách sử dụng mã hóa “utf-8”.
2. Môi trường lập trình các framework hỗ trợ để thực thi ứng
Môi trường lập trình:
Ngôn ngữ lập trình: nguồn được viết bằng ngôn ngữ
Python.
Phiên bản Python: nguồn được viết trên Python 3.x. Đảm
bảo nguồn sẽ hoạt động với các tính năng pháp của
Python 3.x.
Các framework hỗ trợ:
Mã nguồn trong đồ án không sử dụng framework nào cụ thể. Chỉ sử dụng các
thư viện tiêu chuẩn của Python, không cài đặt them thư viện từ bên ngoài.
3. Hướng dẫn sử dụng tính năng chương trình:
- Chương trình 1:
Chạy tệp mã nguồn Python bằng dòng lệnh cmd để khởi động server.
Yêu cầu máy phải cài đặt Python.
Hình
1:
Nhập
dòng
lệnh
cmd
Chạy tệp mã nguồn Python máy thứ hai bằng dòng lệnh cmd để khởi
động client. Yêu cầu máy phải cài đặt Python.
Hình
2:
Nhập
dòng
lệnh
cmd
để
chạy
chương
trình
client
phần E:, nhập IP của server client muốn kết nối.
đây, server đang chạy địa chỉ IP 192.168.6.1 nên client sẽ nhập
vào 192.168.6.1
Sau khi kết nối thành công, chương trình server nhận kết nối từ client
gửi danh sách file mà client có thể tải từ server.
Hình
3:
Client
kết
nối
đến
server
bên
dưới
danh
sách
file
server
gửi
cho
client
Hình
4:
Danh
sách
file
dung
lượng
server
gửi
cho
client
Hình
5:
Server
nhận
kết
nối
từ
client
Trong input.txt”, nhập các file client muốn tải từ server.
Hình
6:
Nhập
các
file
client
cần
tải
vào
input.txt
Sau khi nhập, nhấn Ctrl-V để lưu lại danh sách, client sẽ gửi tuần tự các
file cần tải đến server và server sẽ gửi dữ liệu của file đó đến client.
Hình
7:
Server
nhận
tên
các
file
client
cần
tải
Hình
8:
Client
hoàn
tất
tải
các
file
trong
input.txt
Các file tải về sẽ được lưu trong thư mục Client_path”.
Hình
9:
Các
file
client
nhận
được
lưu
vào
folder
Sau khi tải xong, nếu muốn kết thúc kết nối đến server, thì người dùng
client nhấn tổ hợp phím Ctrl-C để dừng.
Hình
10:
Người
dùng
client
nhấn
Ctrl-C
Hình
11:
Server
ngắt
kết
nối
với
client
- Chương trình 2:
4. Bảng phân công công việc:
5. Tài liệu tham khảo

Preview text:

I.
THÔNG TIN NHÓM ............................................................................................................................ 3 II.
PHÂN CÔNG CÔNG VIỆC VÀ HOÀN THÀNH .......................................................................... 3 III.
NỘI DUNG ĐỒ ÁN ......................................................................................................................... 3 1.
Kịch bản giao tiếp của chương trình: ............................................................................................... 3 1.1.
Giao thức trao đổi giữa Client và Server ................................................................................. 3 1.2.
Cấu trúc thông điệp .................................................................................................................. 3 1.3.
Kiểu dữ liệu của thông điệp: .................................................................................................... 4 2.
Môi trường lập trình và các framework hỗ trợ để thực thi ứng dụng: .............................................. 4 3.
Hướng dẫn sử dụng tính năng chương trình: .................................................................................... 4 4.
Bảng phân công công việc................................................................................................................ 9 5.
Tài liệu tham khảo ............................................................................................................................ 9 I. THÔNG TIN NHÓM:
Danh sách thành viên nhóm: 1. Vũ Hoàng Minh 23127427 2. Nguyễn Đăng Phôn 23127451 3. Nguyễn Nam Việt 23127517 II.
PHÂN CÔNG CÔNG VIỆC VÀ HOÀN THÀNH: III. NỘI DUNG ĐỒ ÁN:
1. Kịch bản giao tiếp của chương trình:
1.1. Giao thức trao đổi giữa Client và Server: - Chương trình 1:
Giao thức trao đổi giữa server và client: - Phía server:
• Kết nối và lắng nghe: Server lắng nghe các kết nối từ
Client trên địa chỉ IP và cổng được xác định.
• Gửi danh sách File: Server đọc danh sách file từ file
“text.txt” và gửi danh sách này tới Client
• Gửi file: Sau khi nhận yêu cầu từ client, server sẽ gửi dữ
liệu của file mà client cần. - Phía client:
• Client kết nối đến địa chỉ IP của server được nhập từ máy
chạy chương trình client.
• Client nhận danh sách file và in ra màn hình danh sách này.
• Client đọc tên các file từ “input.txt” để yêu cầu server gửi dữ liệu cho client.
• Xử lý Ctrl-C để thoát chương trình. - Chương trình 2:
Giao thức trao đổi giữa server và client: - Phía server:
• Kết nối và lắng nghe: Server lắng nghe các kết nối từ
Client trên địa chỉ IP và cổng được xác định.
• Gửi danh sách File: Server đọc danh sách file từ file
• Gửi file: Sau khi nhận yêu cầu từ client, server sẽ gửi dữ
liệu của file mà client cần. - Phía client:
• Client kết nối đến địa chỉ IP của server được nhập từ máy
chạy chương trình client.
• Client nhận danh sách file và in ra màn hình danh sách này.
• Mỗi 2 giây Client sẽ đọc tên các file từ
• Xử lý Ctrl-C để thoát chương trình
1.2. Cấu trúc thông điệp: - Chương trình 1: • Header (Phần đầu):
Địa chỉ IP và mã số cổng của server và client.
• Payload (Phần dữ liệu):
Data (Dữ liệu): Server gửi danh sách các file có thể tải cho
client và client gửi tên file cần tải cho server. Từ đó, server sẽ
gửi dữ liệu của file đó cho client.
Thông tin mã hóa: Dữ liệu được gửi đi sẽ được mã hóa dưới dạng “utf-8” • Footer (Phần cuối):
Client nhận file đã tải và lưu vào folder “Client_path”.
Kết thúc kết nối đến server của client bằng việc nhấn “Ctrl- C”. - Chương trình 2:
1.3. Kiểu dữ liệu của thông điệp:
- Kiểu dữ liệu của thông điệp được mã hóa dưới dạng “utf-8”. Các
yêu cầu và phản hồi đều được chuyển dưới dạng chuỗi byte và
được mã hóa/ giải mã bằng cách sử dụng mã hóa “utf-8”. 2.
Môi trường lập trình và các framework hỗ trợ để thực thi ứng dụng: Môi trường lập trình:
• Ngôn ngữ lập trình: Mã nguồn được viết bằng ngôn ngữ Python.
• Phiên bản Python: Mã nguồn được viết trên Python 3.x. Đảm
bảo mã nguồn sẽ hoạt động với các tính năng và cú pháp của Python 3.x. Các framework hỗ trợ:
Mã nguồn trong đồ án không sử dụng framework nào cụ thể. Chỉ sử dụng các
thư viện tiêu chuẩn của Python, không cài đặt them thư viện từ bên ngoài. 3.
Hướng dẫn sử dụng tính năng chương trình: - Chương trình 1:
• Chạy tệp mã nguồn Python bằng dòng lệnh cmd để khởi động server.
Yêu cầu máy phải cài đặt Python.
Hình 1: Nhập dòng lệnh cmd
• Chạy tệp mã nguồn Python máy thứ hai bằng dòng lệnh cmd để khởi
động client. Yêu cầu máy phải cài đặt Python.
Hình 2: Nhập dòng lệnh cmd để chạy chương trình client
• Ở phần E:, nhập IP của server mà client muốn kết nối.
Ở đây, server đang chạy có địa chỉ IP là 192.168.6.1 nên client sẽ nhập vào 192.168.6.1
• Sau khi kết nối thành công, chương trình server nhận kết nối từ client và
gửi danh sách file mà client có thể tải từ server.
Hình 3: Client kết nối đến server bên dưới danh sách file server gửi cho client
Hình 4: Danh sách file dung lượng server gửi cho client
Hình 5: Server nhận kết nối từ client
• Trong “input.txt”, nhập các file mà client muốn tải từ server.
Hình 6: Nhập các file client cần tải vào input.txt
• Sau khi nhập, nhấn Ctrl-V để lưu lại danh sách, client sẽ gửi tuần tự các
file cần tải đến server và server sẽ gửi dữ liệu của file đó đến client.
Hình 7: Server nhận tên các file client cần tải
Hình 8: Client hoàn tất tải các file trong input.txt
• Các file tải về sẽ được lưu trong thư mục “Client_path”.
Hình 9: Các file client nhận được lưu vào folder
• Sau khi tải xong, nếu muốn kết thúc kết nối đến server, thì người dùng
client nhấn tổ hợp phím Ctrl-C để dừng.
Hình 10: Người dùng client nhấn Ctrl-C
Hình 11: Server ngắt kết nối với client - Chương trình 2: 4.
Bảng phân công công việc: 5. Tài liệu tham khảo