Bài giảng Lập trình mạng - Chương 1. Giới thiệu các mô hình lập trình mạng - Lương Ánh Hoàng
Bạn đang xem tài liệu "Bài giảng Lập trình mạng - Chương 1. Giới thiệu các mô hình lập trình mạng - Lương Ánh Hoàng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_lap_trinh_mang_chuong_1_gioi_thieu_cac_mo_hinh_lap.pdf
Nội dung text: Bài giảng Lập trình mạng - Chương 1. Giới thiệu các mô hình lập trình mạng - Lương Ánh Hoàng
- LẬP TRÌNH MẠNG Network Programming Lương Ánh Ho{ng hoangla@soict.hut.edu.vn
- Mục đích • Cung cấp các kiến thức cơ bản về lập trình ứng dụng mạng –Xây dựng ứng dụng Server. –Xây dựng ứng dụng Client. –Các kỹ thuật vào ra. • Cung cấp các kỹ năng cần thiết để thiết kế và xây dựng ứng dụng mạng –Sử dụng thư viện, môi trường, tài liệu. –Thiết kế, xây dựng chương trình. 2
- Yêu cầu • Yêu cầu về kiến thức: – Mạng máy tính. – Ngôn ngữ lập trình C/C++. – Ngôn ngữ lập trình C#. • Lên lớp đầy đủ 3
- Thời lượng môn học • Thời lượng: 45 tiết – Lý thuyết: 30 tiết – Bài tập:15 tiết 4
- T{i liệu • Network Programming for Microsoft Windows Second Edition. Anthony Jone, Jim Ohlun. • C# Network Programming. Sybex 5
- Đ|nh gi| • Bài tập lớn: 70% • Quá trình: 30% 6
- Nội dung • Chương 1. Giới thiệu các mô hình lập trình mạng. • Chương 2. Bộ giao thức TCP/IP • Chương 3. Windows Socket • Chương 4. MFC Socket • Chương 5. .NET Socket 7
- Chương 1. Giới thiệu c|c mô hình lập trình mạng Lương Ánh Ho{ng hoangla@soict.hut.edu.vn
- Chương 1. Giới thiệu c|c mô hình lập trình mạng • 1.1. Tổng quan về lập trình mạng • 1.2. Giao thức Internet 9
- 1.1. Tổng quan về lập trình mạng • Khái niệm – Lập trình mạng là các kỹ thuật lập trình nhằm xây dựng ứng dụng, phần mềm khai thác hiệu quả tài nguyên mạng máy tính. 10
- 1.1. Tổng quan về lập trình mạng • Ngôn ngữ lập trình mạng – C/C++: Mạnh và phổ biến, được hầu hết các lập trình viên sử dụng để viết các ứng dụng mạng hiệu năng cao. – Java: Khá thông dụng, sử dụng nhiều trong các điện thoại di động (J2ME). – C#: Mạnh và dễ sử dụng, tuy nhiên chạy trên nền .Net Framework và chỉ hỗ trợ họ hệ điều hành Windows. – Python, Perl, PHP Ngôn ngữ thông dịch, sử dụng để viết các tiện ích nhỏ, nhanh chóng – Giáo trình này sẽ chỉ đề cập đến hai ngôn ngữ C/C++ và C#. 11
- 1.1. Tổng quan về lập trình mạng • Thư viện – Windows Socket API ( WinSock) • Thư viện liên kết động (WS2_32.DLL) đi kèm trong hệ điều hành Windows của Microsoft. • Thường sử dụng cùng với C/C++. • Cho hiệu năng cao nhất. – System.Net và System.Net.Sockets • Hai namespace trong bộ thư viện .NET của Microsoft • Dễ sử dụng • Thường sử dụng với C# 12
- 1.1. Tổng quan về lập trình mạng • Thư viện – MFC Socket • Nằm trong bộ thư viện MFC của Microsoft • Đóng gói các hàm của WinSock dưới dạng các lớp hướng đối tượng. • Dễ sử dụng và hiệu năng cao. – Các thư viện của các ngôn ngữ khác: Java, PHP, Python – Thư viện sử dụng trong giáo trình: WinSock, MFC Socket, System.Net và System.Net.Sockets 13
- 1.1. Tổng quan về lập trình mạng • Công cụ lập trình – Visual Studio (6.0, 2003 .NET, 2005, 2008) • Rất mạnh • Hỗ trợ cả WinSock, MFC Socket và .NET Socket (Phiên bản 2003.NET trở lên). • Cài thêm Visual Assist X – Dev C++ • Miễn phí • Chỉ hỗ trợ WinSock 14
- 1.1. Tổng quan về lập trình mạng • Công cụ gỡ rối – TCPView: Hiển thị các kết nối hiện tại của máy tính. – Resource Monitor: ~ TCPView. – Wireshark, Microsoft Network Monitor – Netcat (Netcat Win32) 15
- 1.1. Tổng quan về lập trình mạng • Tài liệu tra cứu – Microsoft Developer Network – MSDN • Cực kỳ chi tiết và chuyên nghiệp • Công cụ không thể thiếu – Google 16
- 1.2. Giao thức Internet • Giao thức Internet (Internet Protocol) – Giao thức mạng thông dụng nhất trên thế giới. – Thành công của Internet là nhờ IPv4. – Được hỗ trợ trên tất cả các hệ điều hành. – Là công cụ sử dụng để lập trình ứng dụng mạng 17