Bài giảng Lập trình mạng: Chương 4 Các phương pháp vào ra trong lập trình socket, cung cấp cho người học những kiến thức như: Các chế độ hoạt động của Winsock; Phương pháp vào ra sử dụng lập trình đa luồng; Phương pháp vào ra sử dụng hàm select; Phương pháp vào ra sử dụng hàm AsyncSelect; Phương pháp vào ra sử dụng hàm EventSelect; Phương pháp vào ra sử dụng cơ chế Overlapped; Phương pháp vào ra sử dụng cơ chế Overlapped – Completion Port. Mời các bạn cùng tham khảo! | Chương 4. Các phương pháp vào ra trong lập trình socket Chương 4. Các phương pháp vào ra . Các chế độ hoạt động của Winsock . Phương pháp vào ra sử dụng lập trình đa luồng . Phương pháp vào ra sử dụng hàm select . Phương pháp vào ra sử dụng hàm AsyncSelect . Phương pháp vào ra sử dụng hàm EventSelect . Phương pháp vào ra sử dụng cơ chế Overlapped . Phương pháp vào ra sử dụng cơ chế Overlapped Completion Port 134 Các chế độ hoạt động của Winsock Blocking Đồng bộ Là chế độ mà các hàm vào ra sẽ chặn thread đến khi thao tác vào ra hoàn tất các hàm vào ra sẽ không trở về cho đến khi thao tác hoàn tất . Là chế độ mặc định của SOCKET Các hàm ảnh hưởng accept connect send recv . 135 Các chế độ hoạt động của Winsock Blocking Đồng bộ Application OS I O Request Blocking Perform I O state I O Complete 136 Các chế độ hoạt động của Winsock Blocking Đồng bộ Thích hợp với các ứng dụng xử lý tuần tự. Không nên gọi các hàm blocking khi ở thread xử lý giao diện GUI Thread . Ví dụ Thread bị chặn bởi hàm recv thì không thể gửi dữ liệu . do Thread sẽ bị chặn lại khi gọi hàm recvfrom Trong lúc đợi dữ liệu thì không thể gửi dữ liệu rc recvfrom receiver szXau 128 0 sockaddr amp senderAddress amp senderLen . while . 137 Các chế độ hoạt động của Winsock Non-Blocking Bất đồng bộ Là chế độ mà các thao tác vào ra sẽ trở về nơi gọi ngay lập tức và tiếp tục thực thi thread. Kết quả của thao tác vào ra sẽ được thông báo cho chương trình dưới một cơ chế đồng bộ nào đó. Các hàm vào ra bất đồng bộ sẽ trả về mã lỗi WSAWOULDBLOCK nếu thao tác đó không thể hoàn tất ngay và mất thời gian đáng kể chấp nhận kết nối nhận dữ liệu gửi dữ liệu. . Đây là điều hoàn toàn bình thường. Có thể sử dụng trong thread xử lý giao diện của ứng dụng. Thích hợp với các ứng dụng hướng sự kiện. 138 Các chế độ hoạt động của Winsock Non-Blocking Bất đồng bộ Application OS I O Request Non-Blocking Other state Perform I O Computations I O Complete 139 Các chế độ hoạt động của Winsock