Tải bản đầy đủ (.pdf) (33 trang)

Giáo trình mô đun Lập trình mạng (Nghề Quản trị mạng - Trình độ cao đẳng) – CĐ Kỹ thuật Công nghệ BR–VT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (894.08 KB, 33 trang )

BM/QT10/P.ĐTSV/04/04
Ban hành lần: 3

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
TRÌNH ĐỘ: CAO ĐẲNG
(Ban hành kèm theo Quyết định số: ……/QĐ­CĐKTCN, ngày … tháng … năm  
20…… của Hiệu trưởng Trường Cao đẳng Kỹ thuật Cơng nghệ BR­VT)

BÀ RỊA – VŨNG TÀU, NĂM 2020


TUN 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ên nghề  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ép dùng ngun 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 kinh 
doanh thiếu lành mạnh sẽ bị nghiêm cấm.


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  
kinh nghiệ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ình bày cơ động, dễ  hiểu kèm theo các bước hướng dẫn thực hành chi  
tiết theo ngun 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ể  hồn thành  ứng dụng trao đổi thơng tin đơn 
giản giữa các máy tính trong 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 q 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 q thầy/cơ và các em học sinh,  
sinh viên để tiếp tục hồn thiện hơn.
Xin chân thành cảm  ơn q đồng nghiệp, bạn bè đã có những ý kiến  
đóng góp trong q 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


MỤC LỤC


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ình 
Windows, 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
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óm xâ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ần 
mề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ần mềm khác trên máy tính
Nội dung của mơ đun:


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ợ  cho  
ngườ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:
Đọ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
1. Cung cấp các chức năng cơ  bản trong việc đọc và ghi nội dung vào 
tập tin

2. 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ào  
chuỗ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ào  
mả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.

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

: chuyển mảng byte thành một chuỗi
1.2. Ghi tập tin bằng lớp File
Dùng phương thức WriteAllText

Dùng phương thức WriteAllLines

Dùng phương thức WriteAllBytes

Đọc tập tin bằng FileStream và StreamReader
2.1. Đọc tập tin bằng FileStream
Phương pháp thơng thường


Phương pháp bất đồng bộ (Asynchronous)
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 (Chi tiết về đa tuyến trình sẽ được trình bày 
ở Bài 2)
Bước 1: Xây dựng phương thức cho tuyến trình đọc và hiển thị  dữ  liệu.  
Phương thức này sẽ được triệu gọi trong một tuyến trình song song.

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ộ


1. Thêm từ khóa async trước tên phương thức xử lý sự kiện
2. Thêm  await  trước lời gọi phương thức  ReadAsync  của đối tượng 
StreamReader

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ức này được gọi trong một tuyến trình song song.

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


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

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

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

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ộ

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

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

Bảng 1.1. Một số thuộc tính/phương thức của FileInfo
Directory
DirectoryName
IsReadOnly
Length
Name
FullName
Exists
MoveTo
CopyTo

Trả về thư mục (DirectoryInfo) chứa tập tin
Trả về tên của thư mục chứa tập tin
Đọc/Ghi thuộc tính chỉ đọc của tập tin
Kích thước của tập tin
Tên của tập tin
Tên đầy đủ (bao gồm ổ đĩa, thư mục và tên) của tập tin
Kiểm tra tập tin tồn tại
Di chuyển tập tin đến thư mục khác
Sao chép tập tin đến thư mục khác


Xóa tập tin

Delete

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
Root
GetFiles
GetDirectories
MoveTo

Trả về thư mục cha
Trả về thư mục gốc
Trả về danh sách tập tin (FileInfo)
Trả về danh sách thư mục
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   trong 
DirectoryInfo

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

Ví dụ:

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ép  
xem và sửa nội dung của tập tin đó.
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


BÀI 2: TẠO ỨNG DỤNG ĐA TUYẾN TRÌNH
Mã bài: 32.2
Giới thiệu:
Trước đây, chúng ta chỉ mới tạo ra các ứng dụng đơn tuyến trình, tức là 
thực hiện việc này xong mới thực hiện việc khác. Các em sẽ  tạo được  ứng  
dụng đa tuyến trình (cho phép nhiều cơng việc cùng thực hiện tại một thời  
điểm) sau khi học xong bài học này.
Mục tiêu:
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 thốt ứng dụng
Nội dung:
1. Giới thiệu
Ứng dụng đa tuyến trình là  ứng dụng có nhiều tuyến trình (cơng việc) thực 
hiện trong cùng một thời điểm.
Ví dụ: ứng dụng xử lý văn bản có các tuyến trình sau
Kiểm tra chính tả
Kiểm sốt việc gõ văn bản

1. 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
Ví dụ:


2. 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(gian>);

1. <thời gian>: tính bằng mili­giây
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ụ:


3. Đọ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ến trì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ến trình
Ví dụ:




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)


BÀI 3: LÀM VIỆC VỚI SOCKET
Mã bài: 32.3
Giới thiệu:
Một trong những nội dung quan trọng nhất của lập trình ứng dụng mạng 
là Socket.
Mục tiêu:
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 tồ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


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

4. Truyền tin bằng giao thức TCP/IP
2.1. Xử lý trên Client



×