Bài giảng Lập trình mạng: Chương 2 Lập trình Socket, cung cấp cho người học những kiến thức như: Khái niệm socket; Giới thiệu Winsock; Kiến trúc và đặc tính của Winsock; Lập trình với các hàm cơ bản của WinSock. Mời các bạn cùng tham khảo!
Chương Lập trình Socket Chương Lập trình socket 2.1 Khái niệm socket 2.2 Giới thiệu Winsock 2.3 Kiến trúc đặc tính Winsock 2.4 Lập trình với hàm WinSock 55 2.1 Khái niệm socket • • • Socket điểm cuối end-point liên kết truyền thông hai chiều (two-way communication) biểu diễn kết nối Client – Server Các lớp Socket ràng buộc với cổng port (thể số cụ thể) để tầng TCP (TCP Layer) định danh ứng dụng mà liệu gửi tới Socket giao diện lập trình mạng hỗ trợ nhiều ngôn ngữ, hệ điều hành khác 56 2.2 Giới thiệu thư viện Winsock • Windows Socket (WinSock) – Bộ thư viện liên kết động Microsoft – Cung cấp API dùng để xây dựng ứng dụng mạng hiệu cao 57 2.3 Kiến trúc đặc tính Winsock Application Winsock DLL ( WS2_32.DLL) Layered/Base Provider RSVP Proxy Default Provider MSAFD.DLL Winsock Kernel Mode Driver (AFD.SYS) Transport Protocols 58 2.3.1 Kiến trúc • Các ứng dụng giao tiếp với thư viện liên kết động tầng cùng: WS2_32.DLL • Provider nhà sản xuất giao thức cung cấp Tầng bổ sung giao thức tầng mạng khác cho WinSock TCP/IP, IPX/SPX, AppleTalk, NetBIOS tầng chạy UserMode • WinSock Kernel Mode Driver (AFD.SYS) driver chạy KernelMode, nhận liệu từ tầng trên, quản lý kết nối, đệm, tài nguyên liên quan đến socket giao tiếp với driver điều khiển thiết bị 59 2.3.1 Kiến trúc • Transport Protocols driver tầng thấp nhất, điều khiển trực tiếp thiết bị Các driver nhà sản xuất phần cứng xây dựng, giao tiếp với AFD.SYS thông qua giao diện TDI ( Transport Driver Interface) 60 2.3.2 Đặc tính • Hỗ trợ giao thức hướng thông điệp (messageoriented) – Thông điệp truyền tái tạo nguyên vẹn kích thước biên bên nhận 61 2.3.2 Đặc tính • Hỗ trợ giao thức hướng dịng (streamoriented) – Biên thơng điệp khơng bảo tồn truyền 62 2.3.2 Đặc tính • Hỗ trợ giao thức hướng kết nối không kết nối – Giao thức hướng kết nối (connection oriented) thực thiết lập kênh truyền trước truyền thơng tin Thí dụ: TCP – Giao thức khơng kết nối (connectionless) không cần thiết lập kênh truyền trước truyền Thí dụ: UDP 63 .. .Chương Lập trình socket 2. 1 Khái niệm socket 2. 2 Giới thiệu Winsock 2. 3 Kiến trúc đặc tính Winsock 2. 4 Lập trình với hàm WinSock 55 2. 1 Khái niệm socket • • • Socket điểm cuối end-point... gian thực 65 2. 4 Lập trình Winsock • Chuẩn bị mơi trường: – – – – Hệ điều hành Windows Cơng cụ lập trình Visual Studio Thêm tiêu đề WINSOCK2.H vào đầu tệp mã nguồn Thêm thư viện WS2_ 32. LIB vào Project... nguồn Thêm thư viện LIBWS2_ 32. A vào Project cách Project => Project Options => Parameters => Add library or object => chọn thư mục x86_64-w64-mingw 32/ lib 67 2. 4 Lập trình Winsock • Khởi tạo Winsock