đồ án “lập trình mạng nâng cao”

42 431 0
đồ án “lập trình mạng nâng cao”

Đ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

Đồ án môn học Lập trình mạng nâng cao MỤC LỤC 1.1. Các lớp đối tượng trong .NET Framework 6 1.2. Ngoại lệ và xử lý ngoại lệ 15 GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 1 Đồ án môn học Lập trình mạng nâng cao LỜI CẢM ƠN Trước tiên nhóm em xin chân thành cảm ơn sâu sắc đến các thầy cô trong trường Cao đẳng Công nghệ thông tin Hữu nghị Việt – Hàn, đặt biệt các thầy cô trong khoa Khoa học máy tính, bộ môn Mạng máy tính đã truyền đạt kiến thức cho chúng em trong thời gian qua Nhóm em xin chân thành cảm ơn thầy Nguyễn Vũ đã tận tình giúp đỡ, chỉ bảo hướng dẫn trực tiếp nhóm em để nhóm hoàn thành tốt đồ án “Lập trình mạng nâng cao”, trong thời gian làm được thầy hướng dẫn, nhóm đã tiếp thu thêm nhiều kiến thức bổ ích trong quá trình học tập cũng như trong quá trình làm việc sau này. Nhóm xin gởi lời cảm ơn đến tất cả các bạn bè đã động viên, đóng góp ý kiến giúp đỡ trong quá trình học tập, nghiên cứu hoàn thành đồ án môn học. Và cuối cùng ,kính chúc thầy cô sức khỏe, tiếp tục đạt được nhiều thành tích trong giảng dạy, cũng như trong nghiên cứu khoa học và trong sự nghiệp giáo dục Xin chân thành cảm ơn ! Sinh viên thực hiện Nhóm 6 GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 2 Đồ án môn học Lập trình mạng nâng cao LỜI NÓI ĐẦU Ngày nay cuộc cách mạng công nghệ luận văn - báo cáo - tiểu luận - tài liệu chuyên ngành Công Nghệ thông tin và viễn thông luận văn - báo cáo - tiểu luận chuyên ngành Viễn Thông đã phát triển vô cùng mạnh mẽ, những thành tựu của nó đã có những ứng dụng to lớn, và trở thành một phần quan trọng trong cuộc sống của chúng ta. Mạng viễn thông mà tiêu biểu là Internet đã kết nối mọi người trên toàn thế giới, cung cấp đa dịch vụ từ Chat, e – mail, VoIP, hội nghị truyền hình, các thông tin khoa học kinh tế, giáo dục… Truy cập Internet trở thành nhu cầu quen thuộc đối với mọi người. Vấn đề trao đổi file là không thể thiếu đối với người dùng đầu cuối . Giao thức FTP là một giao thức trao đổi file khá phổ biến - tuy nhiên những hoạt động xảy ra trong giao thức thì không phải ai cũng biết được hết cách thức làm việc của giao thức này. Xuất phát từ yêu cầu trên nhóm của em đi vào tìm hiểu và lập trình socket ftp truyền file đơn giản .Nhằm bước đầu hiểu về cách thức lập trình một đối tượng. Nội dung gồm 3 phần : Chương I: Tổng quan về lập trình socket Chương II: File transfer protocol Chương III : Giới thiệu chương trình Chương IV: Tổng kết Đồ án được thực hiện trong khoảng thời gian tương đối ngắn nên không tránh khỏi còn nhiều thiếu sót. Nhóm tác giả rất mong nhận được các ý kiến đóng góp của thầy cô và những người quan tâm GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 3 Đồ án môn học Lập trình mạng nâng cao DANH MỤC TỪ VIẾT TẮC FTP File Transfer Protocol TCP/IP Transmission Control Protocol / Internet Protocol SSL Secure Sockets Layer TLS Transport Layer Security SFTP Secure Shell File Transfer Protocol CLS Common Language Specification GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 4 Đồ án môn học Lập trình mạng nâng cao DANH MỤC CÁC HÌNH VẼ 1.1. Các lớp đối tượng trong .NET Framework 6 1.2. Ngoại lệ và xử lý ngoại lệ 15 GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 5 Đồ án môn học Lập trình mạng nâng cao CHƯƠNG I : TỔNG QUAN VỀ LẬP TRÌNH SOCKET 1.1. Các lớp đối tượng trong .NET Framework NET Framework chứa số lượng nhiều những kiểu dữ lớp, những kiểu liệt kê, những cấu trúc, những giao diện và nhiều kiểu dữ liệu khác nữa. Thật vậy, có hàng ngàn số lượng các kiểu như trên. Những lớp này điều cho phép chúng ta sử dụng trong chương trình C#. Chúng ta sẽ tìm hiểu một vài kiểu dữ liệu thường sử dụng trong chương này. Các lớp được trình bày thông qua các ví dụ minh họa đơn giản. Từ những ví dụ minh họa cách sử dụng các lớp cơ sở này chúng ta có thể mở rộng để tạo ra các chương trình phức tạp hơn. 1.1.1 Common Language Specification (CLS) Những lớp bên trong Framework được viết với ngôn ngữ được xác nhận là chung nhất CLS là một tập hợp các luật hay các quy tắc mà tất cả các ngôn ngữ thực hiện bên trong .NET platform phải tuân thủ theo. Lợi ích theo sau của CLS là mã nguồn được viết trong một ngôn ngữ có thể được gọi sử dụng bởi một ngôn ngữ khác Bởi vì thông thường bên trong Framework với CLS, chúng có thể sử dụng không chỉ ngôn ngữ C# mà còn bất cứ ngôn ngữ tương thích với CLS như là Visual Basic.NET và JScript.NET. 1.1.2 Kiểu dữ liệu trong NameSpace Mã nguồn bên trong Framework được tổ chức bên trong namespace. Có hàng trăm namespace bên trong Framework được sử dụng để tổ chức hàng ngàn lớp đối tượng và các kiểu dữ liệu khác. Một vài namespace thì được lưu trữ bên trong namespace khác. Ví dụ chúng ta đã sử dụng kiểu dữ liệu DateTime được chứa trong namespace System. Kiểu Random cũng được chứa trong namespace System. Nhiều kiểu dữ liệu phục vụ cho thao tác nhập xuất cũng được lưu trữ trong một namespace chức trong namespace System là namespace System.IO. Nhiều kiểu dữ liệu thường dùng để làm việc với dữ liệu XML thì được đặt bên trong namespace System.XML. Chúng ta có thể tìm hiểu các GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 6 Đồ án môn học Lập trình mạng nâng cao namespace này trong các tài liệu trực tuyến của Microsoft như MSDN Online chẳng hạn. 1.1.3 Lớp Timer Để bắt đầu lớp timer chúng ta xét một ví dụ: namespace Programming_CSharp { using System; public class Tester { public static void Main() { while (true) { Console.WriteLine(“\n {0}”, DateTime.Now); } } Kết quả: 22/2/2011 3:21:20 PM Như chúng ta có thể thấy, kết quả chương trình được thực thi vào lúc 3:21 vào ngày 22 tháng 2. Danh sách này thể hiện một đồng hồ xuất hiện ở dòng lệnh, và chúng dường như là được cập nhật trong mỗi giây đồng hồ. Thật vậy, nó thông thường được cập nhật nhiều hơn một lần, do đó chúng ta lưu ý là giây đồng hồ thay đổi chỉ khi giá trị xuất hiện thật sự khác nhau. Chương trình sẽ chạy mãi đến khi nào ta nhấn thoát bằng Ctrl + C. Trong chương trình ta sử dụng kiểu dữ liệu DateTime, đây là một cấu trúc được chứa trong namespace System bên trong thư viện cơ sở. Cấu trúc này có một thuộc tính tĩnh là Now trả về thời gian hiện hành. Có nhiều dữ liệu thành viên và những GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 7 Đồ án môn học Lập trình mạng nâng cao phương thức được thêm vào trong cấu trúc DateTime. Chúng ta có thể tìm hiểu thêm về DateTime trong thư viện trực tuyến về các lớp cơ sở của .NET Framework. 1.1.4 Lớp Math Chúng ta chỉ thực hiện các phép toán cơ bản như cộng, trừ, nhân, chia, chia dư. Còn rất nhiều các phép toán mạnh hơn và cũng thường sử dụng mà chúng chưa được đề cập tới. C# cung cấp một tập hợp các phép toán toán học bên trong những lớp cơ sở. Chúng được chứa bên trong của namespace System.Math. Bảng sau liệt kê những hàm toán học. Lớp Math là lớp sealed, do đó chúng ta không thể xây dựng một lớp mới mà kế thừa từ lớp này được. Thêm vào đó tất cả những lớp và dữ liệu thành viên đều là tĩnh, do vậy chúng ta không thể tạo một đối tượng có kiểu Math. Thay vào đó chúng ta sẽ sử dụng những thành viên và phương thức với tên lớp. Lớp Math Phương thức Mô tả Abs Trả về giá trị tuyệt đối của một số Ceiling Trả về giá trị nhỏ nhất hay bằng giá trị đưa ra Exp Trả về giá trị e với mũ đưa ra Floor Trả về giá trị lớn nhất hay bằng giá trị đưa ra IEEERemainde r Trả về phần dư của hai phép chia hai số thực, phép chia này dựa trên tiêu chuẩn IEEE cho phép toán dấu chấm động nhị phân Log Trả về logarit của giá trị đưa ra Log10 Trả về logarit cơ số 10 của giá trị đưa ra Max Trả về số lớn nhất trong hai số Min Trả về số nhỏ nhất trong hai số Pow Trả về kết quả X y Round Trả về giá trị được làm tròn GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 8 Đồ án môn học Lập trình mạng nâng cao Sign Trả về giá trị dấu của số. -1 nếu số âm, và 1 nếu số dương Sqrt Trả về căn bật hai của một số Acos Trả về giá trị một góc mà cosin bằng với giá trị đưa ra Asin Trả về giá trị một gocs mà sin bằng với giá trị đưa ra Atan Trả về giá trị một góc mà tang bằng với giá trị đưa ra Atan2 Trả về giá trị của một góc mà tang của nó bằng tang(x,y) đưa ra Cos Trả về giá trị cosin của một góc đưa ra Sin Trả về giá trị sin của một góc đưa ra Cosh Trả về giá trị hyperbolic cosin của một góc đưa ra Sinh Trả về giá trị hyperbolic của một góc đưa ra Tan Trả về giá trị tang của một góc Tanh Trả về giá trị hyperbolic của một góc đưa ra Ngoài ra lớp Math cũng đưa ra 2 hằng số: PI và số E, PI trả về giá trị toán học như 3.1415…. Giá trị E trả về 2.718, hầu hếu các hàm trong toán học đều dễ hiểu và sử dụng 1.1.5 Lớp thao tác tập tin Khả năng để viết thông tin vào trong một tập tin hay đọc thông tin từ trong một tập tin có thể làm cho chương trình của chúng ta có nhiều hiệu quả hơn. Hơn nữa, có rất nhiều lần khi chúng ta muốn có khả năng làm việc với những tập tin hiện hữu. Phần tiếp sau chúng ta sẽ tìm hiểu những đặc tính cơ bản của việc thao tác trên tập tin. Điều này sẽ được theo sau bởi một khái niệm quan trọng của tập tin là luồng (stream). ** Sao chép một tập tin Một lớp tập tin tồn tại bên trong lớp cơ sở gọi là File, lớp này được định vị bên trong namespace System.OI. Lớp File chứa một số các phương thức tĩnh được sử dụng để thao tác trên tập tin. Thật vậy, tất cả các phương thức bên trong lớp File điều là tĩnh. Bảng sau liệt kê những phương thức chính của lớp File. GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 9 Đồ án môn học Lập trình mạng nâng cao Lớp FILE Phương thức Mô tả AppendText Nối văn bản vào một tập tin Copy Tạo ra một tập tin mới từ một tập tin hiện hữu Create Tạo ra một tập tin mới từ một vị trí xác định CreateText Tạo ra một tập tin lưu trữ text Delete Xóa một tập tin ở một vị trí xác định, tập tin phải hiện hữu nếu không sẽ phát sinh ngoại lệ Exists Kiểm tra thông tin ở một vị trí hiện hữu nào đó GetAttributes Lấy thông tin thuộc tính của tập tin. Thông tin này bao gồm: tập tin có bị nén hay không, tên thư mục, có thuộc tính ẩn, thuộc tính chỉ đọc, tập tin hệ thống GetCreationTime Trả về ngày giờ tập tin được tạo ra GetLastAccessTime Trả về ngày giờ tập tin được truy cập lần cuối GetLastWriteTime Trả về ngày giờ tập tin được viết lần cuốiMove Move Cho phép tập tin được di chuyển vào vị trí mới và đổi tên tập tin. Open Mở một tập tin tại vị trí đưa ra. Bằng việc mở tập tin ày chúng ta có thể viết thông tin hay đọc thông tin từ nó. OpenRead Mở một tập tin hiện hữu để đọc OpenText Mở một tập tin để đọc dạng text OpenWrite Mở một tập tin xác định để viết SetAttributes Thiết lập thuộc tính cho tập tin SetCreationTime Thiết lập ngày giờ tạo tập tin SetLastAccessTime Thiết lập lại ngày giờ mà tập tin được truy cập lần cuối SetLastWriteTime Thiết lập ngày giờ mà tập tin được cập nhật lần cuối. GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 10 [...]... Trí Trang 25 Đồ án môn học Lập trình mạng nâng cao Hình 2.2 : Passive FTP GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 26 Đồ án môn học Lập trình mạng nâng cao CHƯƠNG III: GIỚI THIỆU CHƯƠNG TRÌNH 3.1 Tổng quan về chương trình Với cơ sở lý thuyết nhóm chúng em đã tìm hiển internet và mã nguồn được tham khảo trên http://codeproject.com nhóm chúng em đã thực hiện một chương trình FTP client... mình Trong trường hợp kết nối ở chế độ năng GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 21 Đồ án môn học Lập trình mạng nâng cao động, (trình chủ kết nối với trình khách để truyền tải dữ liệu) , trình chủ phải trước tiên đóng kết vào cổng 20, trước khi liên lạc và kết nối với trình khách Trong chế độ bị động, hạn chế này được giải tỏa, và việc đóng kết trước là một việc không cần phải... – Ngọc Trí Mô tả Trang 30 Đồ án môn học Abort Lập trình mạng nâng cao Chấm dứt một FTP không đồng bộ hoạt động (WebRequest Abort () ) BeginGetRequestSteam Bắt đầu mở không đồng bộ của truyền tải nội dung yêu cầu cho văn bản.( WebRequest.BeginGetRequestStream(AsyncCallba ck, Object).) BeginGetResponse Bắt đầu gửi một yêu cầu và nhận được phản hồi từ một máy chủ FTP không đồng bộ (WebRequest.BeginGetResponse(AsyncCallbac... Trí Trang 18 Đồ án môn học Lập trình mạng nâng cao Console.WriteLine(“Exit Func2 ”); } } } KẾT QUẢ Enter Main Enter Func1 Enter Func2 Entering try block Exception caught and handled Exit Func2 Exit Func1 Exit Main Ví dụ này cũng tương tự ví dụ trước, ngoại trừ chương trình them vào trong một khối try/catch Thông thường chúng ta cũng co thể đặt khối try bao quanh những đoạn chương trình tiềm ẩn... Nhựt – Trọng Việt – Ngọc Trí Trang 22 Đồ án môn học Lập trình mạng nâng cao thuộc vào trình chủ FTP đang được dùng và sự cài đặt của nó Internet Gopher đã được đề nghị trở thành một hình thức thay thế của FTP nặc danh 2.2 Mục đích của giao thức FTP - Mục đích của giao thức FTP, như được phác thảo trong bản RFC, là: - Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng vi tính hoặc dữ liệu)... tập tin Nếu chương trình thực hiện thiếu bộ nhớ, chúng ta có thể phát sinh cho người dùng cơ hội để đóng bớt các ứng dụng khác lại Thậm chí trong trường hợp xấu nhất ta GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 19 Đồ án môn học Lập trình mạng nâng cao không khắc phục được thì khối catch này có thể in ra thông điệp lỗi để người dùng biết Thử kiểm tra kỹ lại chương trình ví dụ trên,... một chương trình FTP client đơn giản Chương trình sử dụng WFTPD, một chương trình FTP khá nhẹ với dung lượng không đến 1MB, ngoài có chúng ta cũng có thể sử dụng một số chương trình ftp khác như FileZilla Server, vsftpd, proftpd, ngoài ra còn một số chương trình mấu khác Tất cả các chương trình kể trên đều là miễn phí Hình 3.1: Giao diện chương trình WFTPD Quá trình cài đặt và cấu hình FTP khá là đơn... port 21, ngoài GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 27 Đồ án môn học Lập trình mạng nâng cao ra nếu có đăng nhập thành công hay thất bại thì sẽ có thông báo hiện thị ngay trên giao diện chính của chương trình Ngoài ra còn một số tính năng khác, các bạn có thể tự tìm hiểu Hình 3.2: Giao diện chương trình Giao diện FTP client, có các nút như Upload dung để tải dữ liệu lên, download... trong khối finally Đoạn chương trình bên trong khối catch được đảm bảo thực thi mà không quan tâm đến việc khi nào thì một ngoại lệ được phát sinh trong khối finally, ở đây nó sẽ được thực thi mà không cần quan tâm đến việc có phát sinh hay không một ngoại lệ trong chương trình GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 20 Đồ án môn học Lập trình mạng nâng cao CHƯƠNG I: FILE TRANSFER... các module chương trình 3.2 Giới thiệu FtpWebRequest Trong các mới NET Framework 2.0 Microsoft đã bổ sung thêm các lớp học cho các hoạt động với các máy chủ FTP.Các lớp này được thêm vào trong không gian tên System.Net Bạn có thể tải tập tin từ một máy chủ FTP từ xa bằng cách sử dụng lớp GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 28 Đồ án môn học Lập trình mạng nâng cao WebClient . hoàn thành tốt đồ án “Lập trình mạng nâng cao”, trong thời gian làm được thầy hướng dẫn, nhóm đã tiếp thu thêm nhiều kiến thức bổ ích trong quá trình học tập cũng như trong quá trình làm việc. 6 GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 2 Đồ án môn học Lập trình mạng nâng cao LỜI NÓI ĐẦU Ngày nay cuộc cách mạng công nghệ luận văn - báo cáo - tiểu luận - tài liệu chuyên. 15 GVHD: Nguyễn Vũ SVTH: Quốc Nhựt – Trọng Việt – Ngọc Trí Trang 5 Đồ án môn học Lập trình mạng nâng cao CHƯƠNG I : TỔNG QUAN VỀ LẬP TRÌNH SOCKET 1.1. Các lớp đối tượng trong .NET Framework NET Framework

Ngày đăng: 25/08/2015, 12:25

Từ khóa liên quan

Mục lục

  • 1.1. Các lớp đối tượng trong .NET Framework

  • 1.2. Ngoại lệ và xử lý ngoại lệ

Tài liệu cùng người dùng

Tài liệu liên quan