1. Trang chủ
  2. » Luận Văn - Báo Cáo

Truyền file qua mạng lan

28 1,2K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 1,16 MB

Nội dung

Truyền file qua mạng lan

Trang 1

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 2

NHẬN XÉT CỦA HỘI ĐỒNG BẢO VỆ

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU 6

TỔNG QUAN VỀ ĐỀ TÀI 7

CHƯƠNG 1 : TỔNG QUAN VỀ LẬP TRÌNH MẠNG 8

1.1 Giao thức TCP/IP 8

1.2 Socket 9

1.3 Port 9

1.4 Mô hình Client – Server 9

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT 11

2.1.Giới thiệu 11

2.2.Các thuộc tính yêu cầu 11

2.3.Kỹ thuật truyền file 11

2.4.Phương thức SERIALIZATION 11

2.5.Phương thức DESERIALIZATION 12

2.6.Phương thức gửi file 12

2.7.Phương thức nhận file 12

2.8.Kỹ thuật chia nhỏ và nối file 12

CHƯƠNG 3 : THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH 13

3.1 Mô tả chức năng 13

3.2 Phân tích chức năng 14

CHƯƠNG 4 : TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 17

4.1.Microsoft Visual Studio 2008 17

4.1.1.Giới thiệu Microsoft Visual Studio 2008 17

4.1.2.Các chức năng cơ bản Microsoft Visual Studio 2008 17

4.2.Giới thiệu NET framework & các thành phần chính 19

4.2.1.Giới thiệu NET framework 19

4.2.2.Các thành phần chính Net framework 19

4.3.Kết quả các chức năng của chương trình 23

4.3.1.Giao diện khi khởi động của chương trình 23

4.3.2.Giao diện khi khởi động của server 24

4.3.3.Chọn File muốn truyền 24

4.3.4.Giao diện khi Client chia File và gởi các packet đã chia đến Server 25

4.3.5.Thông báo gởi các packet đến Server thành công và bắt đầu nối Packet 25

4.3.6 Gởi toàn bộ nội dung của Folder đến Server 26

Trang 4

CHƯƠNG 5 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 27

5.1.Kết luận 27

5.2.Kết quả đạt được 27

5.2.1.Những vấn đề còn tồn tại 27

5.2.2.Hướng phát triển 27

TÀI LIỆU THAM KHẢO 28

Trang 5

DANH MỤC HÌNH VẼ

Hình 1 : Mô Hình TCP/IP 8

Hình 2 : Cơ chế gọi hàm trong lập trình Socket 10

Hình 3 : Serialization Process 12

Hình 4 : Quy trình hoạt động Server 14

Hình 5 : Quy trình hoạt động client 16

Hình 6 : Các thành phần chính của Net Framework 20

Hình 7 : Giao diện khởi động chương trình 23

Hình 8 : Giao diện khi khởi động server 24

Hình 9 : Chọn file muốn truyền 24

Hình 10 : Giao diện khi Client chia file và gửi các packet đã chia đến Server 25

Hình 11 : Thông báo gửi các packet đến Server thành công và bắt đầu nối Packet 25

Hình 12 : Gửi toàn bộ nội dung của Folder đến Server 26

Hình 13 : Kết thúc quá trình gưi nội dung Folder đến Server 26

Trang 6

LỜI NÓI ĐẦU

Hiện nay, vấn đề toàn cầu hoá thông tin và tốc độ phát triển của khoa học công nghệ diễn ra một cách nhanh chóng Một kỷ nguyên mới được mở ra–kỷ nguyên của xã hội hoá thông tin Công nghệ thông tin và truyền thông phát triển đã đưa thế giới bước sang thời đại mới – thời đại của công nghệ thông tin Việc nắm bắt và ứng dụng công nghệ thông tin trong các lĩnh vực khoa học, kinh tế, xã hội đem lại cho các doanh nghiệp

Nhằm tìm hiểu thấu đáo và sâu hơn một trong số các phương pháp truyền file qua mang, nhóm chúng em đã chọn đề tài : “Xây dựng ứng dụng truyền file qua mạng LAN “

sử dụng ngôn ngữ C#

Với lập trình socket TCP sẽ bắt buộc các máy đó phải nối mạng được với nhau Ta

đã thấy các máy muốn trao đổi dữ liệu mạng, chúng sẽ tạo ra mỗi phía một socket và trao đổi dữ liệu bằng cách đọc/ghi từ socket TCP Khi một chương trình tạo ra một socket, một định danh số gán cho socket Việc gán số hiệu cổng này cho socket có thể được thực hiện bởi chương trình hoặc hệ điều hành Trong mỗi gói tin mà socket gửi đi chưa hai thông tin để xác định đích đến của gói tin :

• Một địa chỉ mạng để xác định hệ thống sẽ nhận gói tin

• Một số định danh cổng để nói xác định cho hệ thống đích biết socket TCP nào sẽ nhận dữ liệu

Báo cáo sau đây trình bày về đề tài: “Xây dựng ứng dụng truyền file qua mạng LAN” Trong khuôn khổ báo cáo, chúng em thực hiện tìm hiểu về các thuật toán cắt xén file và ghép nối file và xây dựng ứng dụng

Trang 7

TỔNG QUAN VỀ ĐỀ TÀI

1 Bối cảnh và lý do thực hiện đề tài

Với sự phát triển nhanh chóng của Internet như hiện nay, sự truyền file qua mạng trở thành một nhu cầu bức thiết Sự cần thiết của nó ai cũng hiểu được Hiện nay đã có nhiều chương trình hỗ trợ việc truyền file trên mạng, chẳng hạn như FTP… Tuy nhiên, không cần thiết phải sử dụng những chương trình có sẵn mà ta có thể xâu dựng một chương trình tương tự như thế Chương trình DATruyenFile là được xây dựng với mục đích như thế và nhằm để hiểu rõ được cơ chế truyền file và áp dụng những kiến thức đã học được vào việc lập trình ứng dụng mạng

2 Mục tiêu của đề tài

Đề tài nhằm tìm hiểu được cơ chế truyền file qua mạng LAN, thông qua đó tìm hiểu được các giải thuật, thuật toán về cơ chế cắt ghép, chia nhỏ và nối file Qua đó xây dựng chương trình ứng dụng lập trình Socket TCP cho phép người dùng truyền file qua mạng từ máy Client đến Server

3 Phương pháp triển khai đề tài

 Lập trình Socket Client – Server

 Tìm hiểu các cơ chế truyền file, thuật toán cắt nối file

 Thiết kế và lập trình ứng dụng, xây dựng ứng dụng truyền file qua mạng LAN trong mô hình Client – Server

4 Kết cấu của đồ án

Đồ án gồm các phần :

 Tổng quan về lập trình mạng

 Cơ sở lý thuyết

 Thiết kế và xây dựng chương trình

 Triển khai và đánh giá kết quả

 Kết luận và hướng phát triển đề tài

Trang 8

CHƯƠNG 1 : TỔNG QUAN VỀ LẬP TRÌNH MẠNG

1.1 Giao thức TCP/IP.

Bộ giao thức TCP/IP, ngắn gọn là TCP/IP (tiếng Anh: Internet protocol suite

hoặc IP suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng), là một bộ các giao

thức truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng máy tính thương mại đang chạy trên đó Bộ giao thức này được đặt tên theo hai giao thức chính

của nó là TCP (Giao thức Điều khiển Giao vận) và IP (Giao thức Liên mạng) Chúng

cũng là hai giao thức đầu tiên được định nghĩa Để cho các máy tính trao đổi dữ liệu với

nhau TCP/IP dử dụng mô hình truyền thông 4 tầng hay còn gọi là Mô Hình DoD( Mô hình của Bộ Quốc Phòng Mỹ) Các tầng trong mô hình này theo thứ tự từ trên xuống là :

• Tầng ứng dụng ( Application Layer)

• Tầng giao vận ( Transport Layer)

• Tầng lien mạng ( Internet Layer)

• Tầng giao diện mạng (Network Interface Layer)

RING

TOKEN RING

FRAME RELAY

Trang 9

1.2 Socket

Socket là một cổng logic mà một chương trình sử dụng để kết nối với một chương trình khác chạy trên một máy tính khác trên Internet Chương trình mạng có thể sử dụng nhiều Socket cùng một lúc, nhờ đó nhiều chương trình có thể sử dụng Internet cùng một lúc Có 2 loại Socket:

• Stream Socket: Dựa trên giao thức TCP( Tranmission Control Protocol) việc truyền

dữ liệu chỉ thực hiện giữa 2 quá trình đã thiết lập kết nối Giao thức này đảm bảo dữ liệu

được truyền đến nơi nhận một cách đáng tin cậy, đúng thứ tự nhờ vào cơ chế quản lý luồng lưu thông trên mạng và cơ chế chống tắc nghẽn

• Datagram Socket: Dựa trên giao thức UDP( User Datagram Protocol) việc truyền dữ

liệu không yêu cầu có sự thiết lập kết nối giữa 2 quá trình Ngược lại với giao thức

TCP thì dữ liệu được truyền theo giao thức UDP không được tin cậy, có thế không đúng trình tự và lặp lại Tuy nhiên vì nó không yêu cầu thiết lập kết nối không phải có những

cơ chế phức tạp nên tốc độ nhanh…ứng dụng cho các ứng dụng truyền dữ liệu nhanh như chat, game…

1.3 Port

Port xách định duy nhất một quá trình (process) trên một máy trong mạng Hay nói cách khác là cách mà phân biệt giữa các ứng dụng

VD: Khi máy bạn chạy nhiều ứng dụng mạng như Yahoo,Firefox, game

online… Ví dụ chương Yahoo sử dụng ( port 5150 hay 5050) thì khi ai đó gửi tin nhắn đến cho bạn, lúc tin nhắn đến máy bạn nó sẽ dựa vào port để nhận biết đó là chương trình Yahoo ( port 5150) chứ ko pải là chương trình khác Sau đó thông tin sẽ đc xử lý và hiễn thị tin nhắn lên

Một TCP/IP Socket gồm một địa chỉ IP kết hợp với một port ? Xác định duy nhất một tiến trình (process ) trên mạng.Hay nói cách khác Luồng thông tin trên mạng dựa vảo

IP là để xác định máy một máy trên mạng còn port xác định 1 tiến trình trên 1 máy

1.4 Mô hình Client – Server

Quy trình hoạt động của ứng dụng Server – Client như sau: Server có nhiệm vụ của là lắng nghe, chờ đợi kết nối từ Client trên địa chỉ IP của mình với PORT được quy

định sẵn Khi client gởi dữ liệu tới Server thì nó phải giải quyết một công việc là nhận

dữ liệu đó -> xử lý -> trả kết quả lại cho Client.

Client là ứng dụng được phục vụ, nó chỉ gởi truy vấn và chờ đợi kết quả từ Server

Trang 10

CƠ CHẾ GỌI HÀM TRONG LẬP TRÌNH SOCKET

SOCKET()SOCKET()

CONNECT()

CONNECT()

WRITE()WRITE()

READ()READ()

CLOSE()CLOSE()

SOCKET()SOCKET()

BIND()BIND()

LISTEN()LISTEN()

ACCEPT()ACCEPT()

READ()READ()

WRITE()WRITE()

CLOSE()CLOSE()

CLIENT

Hình 2 : Cơ chế gọi hàm trong lập trình Socket

Trang 11

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu

Trao đổi dữ liệu giữa hai máy tính trong mạng thực chất là sự trao dổi dữ liệu giữa hai chương trình ứng dụng chạy trên hai máy tính đó Trong đó, một chương trình được gán nhãn là server và một chương trình được gán nhãn là client Có nhiều phương pháp

để xây dựng úng dụng mạng nhưng phương pháp phổ biến là lập trình ứng dụng mạng dựa trên cơ chế Socket Trong chương này sẽ trình bày một ứng dụng của lập trình Socket TCP là xây dựng chương trình truyền file qua mạng LAN giữa hai máy tính bằng C# Socket TCP

2.2 Các thuộc tính yêu cầu

Phương thức truyền file được sử dụng phải đảm bảo an toàn, đảm bảo sự tin cậy

Các thuộc tính được yêu cầu là :

 Nguyên vẹn : Người nhận cần có khả năng xác định được thông tin có còn nguyên vẹn sau quá trình truyền không

 Xác thực : Người gởi cần có khả năng xác định file đã gởi thành công hay chưa

2.3 Kỹ thuật truyền file

Có nhiều phương pháp để xây dựng chương trình truyền file qua mang Nhưng phổ biến nhất là lập trình mạng dựa trên cơ chế Socket Chương trình gán nhãn Server khởi tạo kết nối và lắng nghe Chương trình gán nhãn Client Sử dụng lớp tcpclient để kết nối dến server dùng Networkstrem để tiến hành truyền file gửi tên của file theo phương thức Serialize Server tiến hành nhận tên file bằng phương thức Deserialize

2.4 Phương thức SERIALIZATION

Serialization(System.Runtime.Serialization) là một quá trình để chuyển đổi một cấu trúc

dữ liệu hoặc đối tượng thành một định dạng có thể lưu trữ được (ví dụ như trong một file,

bộ nhớ, hoặc vận chuyển thông qua mạng) Mọi đối tượng muốn được serialize đều phải được khai báo kèm theo attribute [Serializable] Ngoài ra, mọi kiểu dữ liệu được sử dụng trong đối tượng cũng phải tuân theo quy tắc này

Attribute [Serializable] có nghĩa là sắp xếp theo thứ tự Khi ta muốn lưu một đối tượng xuống tập tin trên đĩa để lưu, ta phải định ra trình tự của dữ liệu trong đối tượng

Khi cần tái tạo lại đối tượng từ thông tin trên tập tin đã lưu trữ, ta sẽ “nạp” đúng theo trình tự đã định trước đó Nói chính xác hơn, Serialize là tiến trình biến đổi trạng

Trang 12

thái của đối tượng theo một định dạng có thể được lưu trữ hay dịch chuyển(transfer) Nếu muốn loại trừ một thành phần (method, field, property,…) không muốn được serialize, bạn có thể đánh dấu chúng bằng attribute [NonSerialized].

2.6 Phương thức gửi file

o Dung networkstrem để tiến hành truyền file

o Gửi tên của file theo phương thức serialize

o Chia 1 file cần truyền gói nhỏ mỗi gói có kích thước 2048 byte sau đó tiến hành truyền từng gói nhỏ cho đến khi hết tập tin thì thôi Trong đó ghi và đọc file theo phương thức Stream

2.7 Phương thức nhận file

Nhận từng gói nhỏ mỗi gói có kích thước 2048 byte cho đến khi kết thúc file Trong

đó ghi và đọc file theo phương thức Stream

2.8 Kỹ thuật chia nhỏ và nối file

Kỹ thuật chia nhỏ và nối File ( Split and Join File) chia 1 File cần truyền gói nhỏ mỗi gói có kích thước 2048 byte sau đó tiến hành truyền từng gói nhỏ cho đến khi hết tập tin thì thôi

OBJECT

DATABASEDATABASE

FILEFILE

MEMORYMEMORY

Hình 3 : Serialization Process

Trang 13

3.1 Mô tả chức năng

Chương trình cho phép Client gởi File hoặc toàn bộ nội dung của Folder đến Server Tuỳ thuộc dung lượng của File muốn truyền sẽ chia thành số lượng Packet khác nhau Processbar cho biết tiến trình gởi File cho Server Sau khi truyền thành công các Packet Server sẽ nối các Packet lại thành File ban đầu Dung lượng truyền theo Folder là không giới hạn

Trang 14

3.2 Phân tích chức năng

Quy trình hoạt động của Chương trình “ Truyền File Qua Mạng LAN”

SERVERSERVER

Hình 4 : Quy trình hoạt động Server

Tiếp tục?

Tiếp tục?

Đúng

Bắt đầuBắt đầu

Tao TCPListerner và lắng nghe từ Client

Tao TCPListerner và lắng nghe từ Client

Chấp nhận kết nối từ client

Chấp nhận kết nối từ client Báo lỗiBáo lỗi

Đợi Client gởi FileĐợi Client gởi File

Nhận File hoặc Thư mụcNhận File hoặc Thư mục

Sai

Sai

Đúng

Kết thúcKết thúc

Kết thúcKết thúc

Nối File và Thư mục vừa

nhậnNối File và Thư mục vừa

nhận

Trang 15

Bắt đầuBắt đầu

Tạo TCPClient kết vối đến Server

Tạo TCPClient kết vối đến Server

Kết nối thành công

Kết nối thành công Báo lỗiBáo lỗi

Kết thúcKết thúcChọn File hoặc thư mục

Sai

Sai Đúng

Đúng

Trang 16

Hình 5 : Quy trình hoạt động client

Trang 17

CHƯƠNG 4 : TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

4.1 Microsoft Visual Studio 2008

4.1.1 Giới thiệu Microsoft Visual Studio 2008

Microsoft Visual Studio 2008 là môi trường phát triển tích hợp chính (Integrated Development Environment (IDE) được phát triển từ Microsoft Đây là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triển phần mềm.Các môi trường phát triển hợp nhất thường bao gồm:

Một trình soạn thảo mã (source code editor): dùng để viết mã.Trình biên dịch (compiler) và/hoặc trình thông dịch (interpreter).Công cụ xây dựng tự động: khi sử dụng

sẽ biên dịch (hoặc thông dịch) mã nguồn, thực hiện liên kết (linking), và có thể chạy chương trình một cách tự động

Trình gỡ lỗi (debugger): hỗ trợ dò tìm lỗi.Ngoài ra, còn có thể bao gồm hệ thống quản lí phiên bản và các công cụ nhằm đơn giản hóa công việc xây dựng giao diện người dùng đồ họa (GUI)

Nhiều môi trường phát triển hợp nhất hiện đại còn tích hợp trình duyệt lớp (class browser), trình quản lí đối tượng (object inspector), lược đồ phân cấp lớp (class hierarchy diagram), để sử dụng trong việc phát triển phần mềm theo hướng đối tượng

Như vậy, Visual Studio 2008 được dùng để phát triển console (thiết bị đầu cuối – bàn giao tiếp người máy) và GUI (giao diện người dùng đồ họa) cùng với các trình ứng dụng như Windows Forms, các web sites, cũng như ứng dụng, dịch vụ wed (web applications, and web services) Chúng được phát triển dựa trên một mã ngôn ngữ gốc (native code ) cũng như mã được quản lý (managed code) cho các nền tảng được được hỗ trợ Microsoft Windows, Windows Mobile, NET Framework, NET Compact Framework

và Microsoft Silverlight.Visual Studio hỗ trợ rất nhiều ngôn ngữ lập trình, có thể kể tên như sau: C/C++ ( Visual C++), VB.NET (Visual Basic NET), va C# (Visual C#)… cũng như hỗ trợ các ngôn ngữ khác như F#, Python, và Ruby; ngoài ra còn hỗ trợ cả XML/XSLT, HTML/XHTML, JavaScript và CSS

C# mang đến sức mạnh của C++ cùng với sự dễ dàng của ngôn ngữ Visual Basic

4.1.2 Các chức năng cơ bản Microsoft Visual Studio 2008

Visual Studio 2008 có những chức năng cơ bản sau: soạn thảo mã (code editor), trình gỡ lỗi (debugger) và thiết kế (Designer) Ở đây tôi chỉ trình bày một số công cụ quan trọng của chức năng Designer – đây được xem là một trong những điểm nhấn của Microsft Visual Studio

Ngày đăng: 31/01/2016, 13:57

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w