1. Trang chủ
  2. » Toán

Giáo trình Lập trình mạng (Cao đẳng Quản trị mạng máy tính) - Nguồn: BCTECH

31 5 0

Đ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 31
Dung lượng 0,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Lập trình đọc, ghi tập tin bằng các lớp đối tượng trong .NET Framework  Xử lý trên tập tin và thư mục bằng các lớp FileInfo và DirectoryInfo  Tạo được ứng dụng đa tuyến trình..  Tạo[r]

Trang 1

UBND TỈNH BÀ RỊA – VŨNG TÀU

TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ

GIÁO TRÌNH

MÔ ĐUN LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH

Trang 2

TUYÊN BỐ BẢN QUYỀN

Nhằm đáp ứng nhu cầu học tập và nghiên cứu cho giảng viên và sinh viênnghề Quản trị mạng máy tính trong trường Cao đẳng Kỹ thuật Công nghệ BàRịa – Vũng Tàu, chúng tôi đã thực hiện biên soạn tài liệu Lập trình mạng

Tài liệu được biên soạn thuộc loại giáo trình phục vụ giảng dạy và học tập,lưu hành nội bộ trong Nhà trường nên các nguồn thông tin có thể được phépdùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinhdoanh thiếu lành mạnh sẽ bị nghiêm cấm

Trang 3

LỜI GIỚI THIỆU

Giáo trình “Lập trình mạng” được biên soạn dựa trên khung chương trìnhđào tạo Cao đẳng nghề Quản trị mạng máy tính đã được Trường Cao đẳng Kỹthuật Công nghê Bà Rịa – Vũng Tàu phê duyệt

Tác giả đã nghiên cứu một số tài liệu, công nghệ hiện đại kết hợp với kinhnghiệm làm việc thực tế để viết nên giáo trình này Nội dung được tác giả trìnhbày cô động, dễ hiểu kèm theo các bước hướng dẫn thực hành chi tiết theonguyên tắc quan tâm đến kết quả đầu ra, khả năng tự học và kỹ năng cần thiết đểHSSV có thể hoàn thành ứng dụng trao đổi thông tin đơn giản giữa các máy tínhtrong mạng LAN từ đó định hướng xây dựng các ứng dụng mạng phức tạp hơn.Nội dung giáo trình được chia thành 04 bài, trong đó:

Bài 1: Tạo ứng dụng đọc, ghi tập tin

Bài 2: Tạo ứng dụng đa tuyến trình

Bài 3: Làm việc với Socket

Bài 4: Tạo Web Browser

Trong quá trình biên soạn, chắc chắn giáo trình còn nhiều thiếu sót Tác giảrất mong nhận được ý kiến đóng góp của quý thầy/cô và các em học sinh, sinhviên để tiếp tục hoàn thiện hơn

Xin chân thành cảm ơn quý đồng nghiệp, bạn bè đã có những ý kiến đónggóp trong quá trình biên soạn giáo trình này

Bà Rịa – Vũng Tàu, ngày …… tháng …… năm ………

Tham gia biên soạn

1 Phan Hữu Phước – Chủ biên

Trang 4

MỤC LỤC

LỜI GIỚI THIỆU 1

MỤC LỤC 3

BÀI 1: TẠO ỨNG DỤNG ĐỌC, GHI TẬP TIN 7

1 Đọc, ghi tập tin bằng lớp File 7

1.1 Đọc tập tin bằng lớp File 7

1.2 Ghi tập tin bằng lớp File 8

2 Đọc tập tin bằng FileStream và StreamReader 8

2.1 Đọc tập tin bằng FileStream 8

2.2 Đọc tập tin bằng StreamReader 10

3 Ghi tập tin bằng FileStream và StreamWriter 11

3.1 Ghi tập tin bằng FileStream 12

3.2 Ghi tập tin bằng StreamWriter 13

4 Xử lý tập tin và thư mục bằng FileInfo và DirectoryInfo 14

4.1 Kiểm tra tồn tại 14

4.2 Duyệt danh sách tập tin, thư mục 15

BÀI 2: TẠO ỨNG DỤNG ĐA TUYẾN TRÌNH 17

1 Giới thiệu 17

2 Tạo ứng dụng đa tuyến trình 17

3 Thay đổi trạng thái của tuyến trình 18

4 Đọc thông tin và gán tên cho tuyến trình 20

BÀI 3: LÀM VIỆC VỚI SOCKET 23

1 Tạo ứng dụng mạng đơn giản đầu tiên 23

1.1 Tạo UDP Client 23

1.2 Tạo UDP Server 23

2 Truyền tin bằng giao thức TCP/IP 24

2.1 Xử lý trên Client 24

Trang 5

2.2 Xử lý trên Server 25

BÀI 4: TẠO WEB BROWSER 27

1 Tạo HTTP Client (Web Browser) 27

1.1 Giao diện 27

1.2 Nhận tài liệu HTML từ Web Server 28

2 Tạo HTTP Server (Web Server) 28

TÀI LIỆU THAM KHẢO 31

Trang 6

GIÁO TRÌNH MÔ ĐUN

Tên mô đun: Lập trình mạng

Mã mô đun: MĐ32

Vị trí, tính chất, ý nghĩa và vai trò của mô đun:

 Vị trí: được bố trí sau khi học xong các môn cơ sở và các môn Lập trìnhWindows, Quản trị mạng nâng cao

 Tính chất: là mô đun cung cấp cho người học kiến thức và kỹ năng để cóthể thiết kế, xây dựng và phát triển ứng dụng mạng client-server trên hệđiều hành Windows

Mục tiêu của mô đun:

Về kiến thức:

 Biết tên các lớp đối tượng hỗ trợ đọc, ghi tập tin

 Biết khái niệm tuyến trình

 Trình bày quy trình tạo ứng dụng đa tuyến trình

 Biết tên các hàm thay đổi trạng thái tuyến trình

 Biết khái niệm về Socket, TCP/IP

 Trình bày quy trình tạo ứng dụng mạng với Socket, TCP/IP

 Trình bày quy trình truyền thông Web Server với giao thức HTTP

 Biết khái niệm về SMTP, POP3

 Trình bày quy trình duyệt email bằng SMTP và POP3

 Trình bày quy trình gửi nhận file với FTP Server

 Biết khái niệm về Firewall, Proxy

 Trình bày quy trình chặn địa chỉ IP, cổng giao tiếp, tên miền

Về kỹ năng:

 Lập trình đọc, ghi tập tin bằng các lớp đối tượng trong NET Framework

 Xử lý trên tập tin và thư mục bằng các lớp FileInfo và DirectoryInfo

 Tạo được ứng dụng đa tuyến trình

 Tạo được ứng dụng mạng client-server với Socket, TCP/IP, UDP

 Tạo được trình duyệt web đơn giản

 Tạo được ứng dụng gửi và nhận email

 Tạo được ứng dụng FTP client

 Tạo ứng dụng Firewall, Proxy

 Cấu hình sử dụng Proxy

Trang 7

Về năng lực tự chủ và trách nhiệm: có thể làm việc độc lập hoặc tham gia nhómxây dựng phần mềm mạng client-server trên hệ điều hành Windows.

 Không thay đổi nội dung tập tin, thư mục của hệ điều hành và các phầnmềm khác trên máy tính

 Cẩn thận không can thiệp vào các tuyến trình của hệ điều hành và các phầnmềm khác trên máy tính

Nội dung của mô đun:

Trang 8

BÀI 1: TẠO ỨNG DỤNG ĐỌC, GHI TẬP TIN

Mã bài: 32.1

Giới thiệu:

Microsoft Visual Studio cung cấp đầy đủ các lớp đối tượng hỗ trợ chongười lập trình tạo chức năng đọc/ghi tập tin, quản lý thư mục/tập tin trên hệđiều hành Windows

Mục tiêu:

 Biết tên các lớp hỗ trợ đọc và ghi tập tin

 Lập trình đọc và ghi tập tin bằng các lớp File, FileStream, StreamReader,StreamWriter

 Xử lý trên tập tin và thư mục bằng các lớp FileInfo và DirectoryInfo

 Đảm bảo đóng tập tin sau khi đọc/ghi tập tin

 Tránh ghi đè lên tập tin hệ thống

Nội dung:

1 Đọc, ghi tập tin bằng lớp File

1.1 Đọc tập tin bằng lớp File

 Giới thiệu lớp File

o Cung cấp các chức năng cơ bản trong việc đọc và ghi nội dung vào tậptin

o Chứa các phương thức lớp do đó không cần khởi tạo đối tượng

 Dùng phương thức ReadAllText: Mở một tập tin text, đọc nội dung vàochuỗi sau đó đóng tập tin

 Dùng phương thức ReadAllLine: Mở một tập tin text, đọc nội dung vàomảng chuỗi (mỗi phần tử của mảng là một dòng nội dung trong tập tin) sau

đó đóng tập tin

Trang 9

 Dùng phương thức ReadAllBytes: Mở một tập tin nhị phân, đọc nội dungvào mảng byte sau đó đóng tập tin.

: chuyển mảng byte thành một chuỗi1.2 Ghi tập tin bằng lớp File

Trang 10

Bước 2: Xây dựng phương thức bất đồng bộ

Trang 11

Bước 2: Xử lý sự kiện

2.2 Đọc tập tin bằng StreamReader

 Phương pháp thông thường

 Phương pháp bất đồng bộ

Trang 12

o Thêm từ khóa async trước tên phương thức xử lý sự kiện

o Thêm await trước lời gọi phương thức ReadAsync của đối tượngStreamReader

 Phương pháp đa tuyến trình

Bước 1: Tạo phương thức cho tuyến trình đọc và hiển thị dữ liệu Phương thứcnày được gọi trong một tuyến trình song song

Bước 2: Xử lý sự kiện

3 Ghi tập tin bằng FileStream và StreamWriter

Hình 1.1 Đồng bộ (Synchronous) và Bất đồng bộ (Asynchronous)

Trang 13

3.1 Ghi tập tin bằng FileStream

 Phương pháp thông thường

 Phương pháp bất đồng bộ

Bước 1: Khai báo biến

Bước 2: Xây dựng phương thức bất đồng bộ

Bước 3: Xử lý sự kiện

 Phương pháp đa tuyến trình

Bước 1: Xây dựng phương thức cho tuyến trình ghi dữ liệu

Trang 14

Bước 2: Xử lý sự kiện

3.2 Ghi tập tin bằng StreamWriter

 Phương pháp thông thường

 Phương pháp bất đồng bộ

Trang 15

 Phương pháp đa tuyến trình

Bước 1: Xây dựng phương thức cho tuyến trình ghi dữ liệu

Bước 2: Xử lý sự kiện

4 Xử lý tập tin và thư mục bằng FileInfo và DirectoryInfo

4.1 Kiểm tra tồn tại

 Kiểm tra tập tin tồn tại

Trang 16

Bảng 1.1 Một số thuộc tính/phương thức của FileInfo

Directory Trả về thư mục (DirectoryInfo) chứa tập tin

DirectoryName Trả về tên của thư mục chứa tập tin

IsReadOnly Đọc/Ghi thuộc tính chỉ đọc của tập tin

Length Kích thước của tập tin

FullName Tên đầy đủ (bao gồm ổ đĩa, thư mục và tên) của tập tin

Exists Kiểm tra tập tin tồn tại

MoveTo Di chuyển tập tin đến thư mục khác

CopyTo Sao chép tập tin đến thư mục khác

 Kiểm tra thư mục tồn tại

Bảng 1.2 Một số thuộc tính/phương thức của DirectoryInfo

Parent Trả về thư mục cha

GetFiles Trả về danh sách tập tin (FileInfo)

GetDirectories Trả về danh sách thư mục

MoveTo Di chuyển đến thư mục khác

4.2 Duyệt danh sách tập tin, thư mục

 Dùng phương thức GetFiles để đọc danh sách tập tin trongDirectoryInfo

 Dùng phương thức GetDirectories để đọc danh sách thư mục trongDirectoryInfo

Ví dụ:

Trang 17

CÂU HỎI, BÀI TẬP

1.1 Tạo ứng dụng đọc/ghi tập tin text tương tự NodePad

1.2 Tạo ứng dụng quản lý thư mục/tập tin tương tự Windows Explorer

 Sử dụng TreeView, ListView

 Cho phép tạo/xóa/di chuyển/sao chép/đổi tên thư mục

 Cho phép xóa/di chuyển/sao chép/đổi tên tập tin

 Khi click đôi chuột lên tên tập tin (.txt) thì hiển thị ứng dụng 1.1 cho phépxem và sửa nội dung của tập tin đó

YÊU CẦU KIỂM TRA, ĐÁNH GIÁ KẾT QUẢ HỌC TẬP

 Sử dụng lớp FileStream, StreamReader, StreamWriter

 Lập trình xử lý bất đồng bộ

 Xử lý trên TreeView, ListView

Trang 18

BÀI 2: TẠO ỨNG DỤNG ĐA TUYẾN TRÌNH

 Biết kiến thức và kỹ năng lập trình với các tuyến trình

 Tạo được ứng dụng đa tuyến trình

 Đảm bảo không còn tuyến trình tồn tại sau khi thoát ứng dụng

5 Tạo ứng dụng đa tuyến trình

Bước 1: Xây dựng phương thức thực thi của Thread

Bước 2: Tạo đối tượng Thread kèm theo phương thức thực thi

Bước 3: Gọi phương thức Start của Thread

Trang 19

Ví dụ:

6 Thay đổi trạng thái của tuyến trình

 Đặt trạng thái chờ (tạm dừng với thời hạn biết trước): Sleep(<thờigian>);

o <thời gian>: tính bằng mili-giây

Trang 20

 Tạm dừng vô thời hạn: Suspend();

 Khởi động lại (trước đó đã Suspend): Resume();

 Hủy tiến trình:Abort();

Ví dụ:

Trang 21

7 Đọc thông tin và gán tên cho tuyến trình

Lớp Thread cung cấp rất nhiều phương thức để đọc thông tin chi tiết của tuyếntrình đang hoạt động

 IsAlive: xác định tuyến trình còn hoạt động hay không

 Priority: xác định độ ưu tiên của tuyến trình

 threadState: xác định trạng thái của tuyến trình

 CurrentThread: trả về tuyến trình hiện hành

 Name: xác định, đặt tên cho tuyến trình

 GetHashCode(): trả về định danh (duy nhất, kiểu int) tương ứng với tuyếntrình

Ví dụ:

Trang 22

CÂU HỎI, BÀI TẬP

2.1 Tạo ứng dụng đếm số ký tự/từ trong textbox (sử dụng đa tuyến trình, không

sử dụng sự kiện TextChanged)

2.2 Tạo ứng dụng giả lập truyền file trên mạng (sử dụng đa tuyến trình)

Trang 23

BÀI 3: LÀM VIỆC VỚI SOCKET

 Biết các kiến thức về lập trình Socket, TCP/IP

 Tạo được ứng dụng mạng Client-Server với giao thức TCP/IP

 Tạo được ứng dụng mạng Client-Server với Socket

 Cẩn thận, làm việc nhóm, an toàn cho máy tính

Nội dung:

1 Tạo ứng dụng mạng đơn giản đầu tiên

1.1 Tạo UDP Client

1.2 Tạo UDP Server

Bước 1: Viết phương thức cho tuyến trình nhận dữ liệu

Trang 24

Bước 2: Xử lý sự kiện

8 Truyền tin bằng giao thức TCP/IP

2.1 Xử lý trên Client

Trang 25

2.2 Xử lý trên Server

Bước 1: Tạo phương thức cho tuyến trình ghi tập tin nhận được từ Socket

Bước 2: Tạo phương thức cho tuyến trình lắng nghe kết nối

Trang 26

Bước 3: Xử lý sự kiện

CÂU HỎI, BÀI TẬP

3.1 Tạo ứng dụng nhắn tin/gửi file trên Client-Server

3.2 Tạo ứng dụng chơi cờ caro (2 người chơi trên mạng)

YÊU CẦU KIỂM TRA, ĐÁNH GIÁ KẾT QUẢ HỌC TẬP

 Sử dụng FileStream, StreamReader, StreamWriter

 Gửi/nhận dữ liệu trên Socket và TCP/IP

Trang 27

BÀI 4: TẠO WEB BROWSER

Mã bài: 32.4

Giới thiệu:

Một trong những giao thức ứng dụng mạng phổ biến được sử dụng hiệnnay là HTTP Trong bài này, chúng ta sẽ tìm hiểu và tạo trình duyệt đơn giảnhiển thị tài liệu HTML nhận được từ Web Server

Mục tiêu:

 Biết các kiến thức và kỹ lập trình truyền thông với giao thức HTTP

 Tạo được trình duyệt web đơn giản

 Tạo được Web Server đơn giản

 Cẩn thận, làm việc nhóm, an toàn cho máy tính

Nội dung:

1 Tạo HTTP Client (Web Browser)

1.1 Giao diện

Kịch bản: Nhập URLcần truy cập vào ô “Địa chỉ”, click chuột lên nút lệnh

“Go” Ứng dụng sẽ hiển thị tài liệu HTML nhận được từ Web Server

Trang 28

1.2 Nhận tài liệu HTML từ Web Server

2 Tạo HTTP Server (Web Server)

Bước 1: Giao diện form của HTTP Server gồm: 2 TextBox (txtPath và txtPort),Button (btnStart), ListBox (lstConnections)

Bước 2: Khai báo sử dụng thư viện

Bước 3: Khai báo đối tượng alSockets chứa các kết nối

Trang 29

Bước 4: Xử lý sự kiện Form Load

Bước 5: Tuyến trình trả kết quả cho Client

Trang 30

Bước 6: Tuyến trình xử lý tiếp nhận một kết nối

Bước 7: Xử lý sự kiện click chuột lên nút lệnh (Bắt đầu dịch vụ)

CÂU HỎI, BÀI TẬP

4.1 Tạo HTTP Server đáp ứng theo yêu cầu trả về tập tin index.html trong thưmục tương ứng với URL nhận được từ HTTP Client

4.2 Tạo HTTP Client cho phép nhập URL và nhận kết quả từ HTTP Server ởcâu trên

Trang 31

TÀI LIỆU THAM KHẢO

[1] Fiach Reid – Network Programming in NET [2] Richard Blum - C# Network Programming

Ngày đăng: 10/03/2021, 13:59

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w