Giáo trình mô đun Lập trình mạng (Nghề Quản trị mạng - Trình độ cao đẳng) gồm có những nội dung chính sau đây: Giới thiệu về thuật toán; giới thiệu ngôn ngữ lập trình C; trình bày các thành phần cơ bản của ngôn ngữ lập trình C; sử dụng các phép toán và câu lệnh nhập; xuất trong lập trình C; sử dụng câu lệnh có cấu trúc điều kiện; sử dụng cấu trúc vòng lặp for; sử dụng cấu trúc vòng lặp while; sử dụng cấu trúc vòng lặp do..while; sử dụng các câu lệnh break, continue, goto; giới thiệu về hàm; truyền tham số cho hàm; nhập xuất dữ liệu cho mảng một chiều; sử dụng mảng một chiều làm tham số cho hàm; sắp xếp mảng một chiều; nhập xuất chuỗi ký tự; thao tác trên chuỗi ký tự.
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ệ BRVT) 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 clientserver 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 clientserver 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 clientserver 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 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 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ộ 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ụ: 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(); : tính bằng miligiâ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ụ: Đọ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 ClientServer với giao thức TCP/IP Tạo được ứng dụng mạng ClientServer với Socket Cẩn thận, làm việc nhóm, an tồn cho máy tính Nội dung: 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 Truyền tin bằng giao thức TCP/IP 2.1. Xử lý trên Client 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 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 ClientServer 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 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ện nay là HTTP. Trong bài này, chúng ta sẽ tìm hiểu và tạo trình duyệt đơn giản hiể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 tồn cho máy tính Nội dung: 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 1.2. Nhận tài liệu HTML từ Web Server 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 Bước 4: Xử lý sự kiện Form Load Bước 5: Tuyến trình trả kết quả cho Client 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 TÀI LIỆU THAM KHẢO Fiach Reid – Network Programming in .NET Richard Blum C# Network Programming ... 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... 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... đó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