Chương này trang bị cho người học những hiểu biết cơ bản về lập trình socket. Nội dung trình bày gồm có: Lập trình socket với TCP, tương tác giữa client/server qua socket TCP, stream, lập trình socket với UDP,. . | Lập trình socket Mục ñích: làm thế nào ñể xây dựng các ứng dụng client/server truyền dữ liệu qua socket Socket API socket ❒ ðưa ra trong UNIX, 1981 ❒ Cho phép ứng dụng tạo ra và sử dụng socket ❒ Nguyên lý client/server ❒ Có hai dạng socket Truyền gói tin, không tin cậy Truyền dòng bytes, tin cậy Là giao diện (cửa) do ứng dụng tạo ra trên máy trạm, quản lý bới OS qua ñó các ứng dụng có thể gửi và nhận thông ñiệp ñến/từ các ứng dụng khác 1 Lập trình socket vớiTCP Socket: cửa giao tiếp giữa các tiến trình và giao thức giao vận (UCP hoặc TCP) Dịch vụ TCP: truyền các bytes tin cậy từ một tiến trình ñến các tiến trình khác ðiều khiển bới Lập trình viên ðiều khiển bởi Hệ ñiều hành Tiến trình Tiến trình socket TCP với Bộ ñệm, Các biến socket TCP với Bộ ñệm, Các biến Máy trạm, máy chủ internet ðiều khiển bới Lập trình viên ðiều khiển bởi Hệ ñiều hành Máy trạm, máy chủ 2 Lập trình socket với TCP Client phải gửi yêu cầu tới server ❒ khi ñược client liên lạc, server TCP tạo socket mới ñể tiến ❒ Tiến trình máy chủ phải ñang trình máy chủ giao tiếp với ñược thực hiện client ❒ máy chủ phải mở socket cho phép nói chuyện với (cổng) ñể nhận yêu cầu từ nhiều clients client phân biệt client bằng số Client yêu cầu server bằng cách: hiệu cổng (chương 3 ) ❒ Tạo một socket TCP trên máy ❒ Chỉ rõ IP address & port number của tiến trình máy chủ ðối với ứng dụng ❒ Khi client tạo socket: client TCP cung cấp dịch vụ truyền dòng TCP tạo liên kết tới server bytes tin cậy và có thứ tự TCP giữa client và server 3 Tương tác giữa client/server qua socket TCP Server Client (máy hostid) tạo socket, port=x, cho yêu cầu tới: welcomeSocket = ServerSocket() chờ yêu cầu tới connectionSocket = () nhận yêu cầu từ connectionSocket trả lời tại connectionSocket ñóng socket connectionSocket Tạo liên kết TCP tạo socket, kết nối tới hostid, port=x clientSocket = Socket() gửi yêu cầu từ clientSocket ñọc trả lời .