You are on page 1of 4

Lập trình mạng

1. Công việc tuần vừa rồi của tớ :


-Mã hoá Base64 với File bất kỳ
-Thực hiện phân tích xử lý truyền nhận file lớn
2. Thực hiện
2.1. Về mã hoá Base64

-Thay đổi lại code để có thể mã hoá 1 file và 1 kiểu dữ liệu bất kỳ.
-Thưc hiện đóng gói thành lớp Cbase64 để mọi người có thể sử dụng dễ
dàng(tớ gửi đi kèm demo)

2.2 Phân tích truyền nhận dữ liệu với File lớn

Trước hết tớ đưa ra mô hình truyền nhanạ dữ liệu


- Thảo luận tuần vừa rồi chúng ta đã đưa ra mô hình như sau

Sau khi tham khảo thì tớ đưa ra mô hình sau


Có thể có hoặc không
Lý do đưa ra:
- Việc truyền nhận sẽ diễn ra nhanh hơn do server không phải bận tâm về
việc kết nối DB hay chia các gói tin nhận được vào các table khác nhau, mà
chỉ cần nhận được dữ liệu là lưu vào file cho đến khi hết phiên truyền. Sau
khi Server đã có file dữ liệu thì việc còn lại (có lưu vào DB hay xử lý theo
kiẻu File System ) không phải là vấn đề và lúc này là xử lý offline.
- Khi 1 người gửi cho nhiều người thì rõ ràng chúng ta chỉ cần xử lý online 1
file, sau khi kết thúc sẽ tiến hành copy offline cho các tài khoản khác nhau,
hoặc đưa nó vào DB
- Tham khảo 1 số bài viết về mail server( tuy nhiên những hệ thống mail như
Mdaemon hay Argo thì tớ thực sự chưa thể hiểu chi tiết mô hình của chúng)

Vậy vấn đề truyền nhận file lớn ở đâu???


Rõ ràng là với mô hình này thì chúng ta cũng không cần bận tâm về
độ dài của từng gói tin nữa, mà đơn giản chỉ là client gửi từng gói tin
1KB( hoặc lớn hơn). Server chỉ cần nhận được dữ liệu và lưu liên tiếp vào
file cho đến khi hết. Vậy là file dù lớn hay nhỏ thì mô thức truyền nhận cũng
giống hệt nhau.
Mô hình SMTP Server tớ đưa ra như sau:

System

RFC Rule Accounts

SMTP cmd

CMD income
command or Data

Process
Client File
responde
finish
System

responde POP3 Server

File To DB

DB

1. Client sẽ gửi thông tin đến cho Mail server để mailSV quyết định là SMTP
hay POP3.
2. Lệnh này sẽ được xử lý căn cứ vào luật RFC và kiểm tra các Account hiện
có và trả lời cho Client
3. Nếu thoả mãn thì sẽ tiến hành lưu File
4. Xử lý cơ sở dữ liệu chỉ khi đã hoàn thành việc trao đổi file
5. Cập nhật lại các thông tin cần thiết khác

You might also like