Bài giảng "Lập trình mạng - Chương 3: Lập trình ứng dụng mạng dùng socket" cung cấp cho người học các kiến thức: Tổng quan, giao tiếp giữa các quá trình trên hai host khác nhau, lập trình socket với TCP, stream với socket,. . | 1 CHƯƠNG 3 LẬP TRÌNH ỨNG DỤNG MẠNG DÙNG SOCKET 2 Tổng quan Viết chương trình application transport network data link physical • Chạy trên các hệ thống đầu cuối • Truyền thông qua mạng • Ví dụ web server giao tiếp với browser Viết chương trình trên các thiết bị mạng ngoài phạm vi này application transport network data link physical application transport network data link physical 3 Mục tiêu Biết cách xây dựng một ứng dụng client/server giao tiếp bằng socket Socket API • Được giới thiệu trong UNIX, 1981 • Được khởi tạo, sử dụng và hủy một cách tường minh bởi ứng dụng • Mô hình client/server • Hai loại dịch vụ truyền tải qua socket API: • Datagram không bảo đảm • connection-oriented bảo đảm socket Một giao tiếp cục bộ trên host, được tạo bởi ứng dụng và được điều khiển bởi hệ điều hành, qua đó quá trình ứng dụng có thể truyền (hay nhận) đến (hay từ) quá trình khác Giao tiếp giữa các quá trình trên hai host khác nhau • process truyền/nhận thông điệp đến/từ socket của nó • socket tương tự như cửa ra vào • Quá trình truyền thông điệp ra cửa • Quá trình truyền dựa vào hạ tầng truyền tải trên phía kia của cánh cửa, thông tin được chuyển đến socket của quá trình thu host hay server host hay server process Được kiểm soát bởi người lập trình socket socket TCP với buffers, variables process Internet TCP với buffers, variables Được kiểm soát bởi hệ điều hành • API: (1) chọn giao thức truyền tải ; (2) khả năng sửa một vài thông số 4 5 Lập trình socket với TCP Socket: Như là cửa thông giữa các quá trình ứng dụng và giao thức truyền tải end-to-end (UDP hay TCP) TCP service: truyền tải tin cậy các byte từ một process đến một process khác Được kiểm soát bởi người lập trình ứng dụng Được kiểm soát bởi hệ điều hành process process socket socket TCP với Buffer và các biến host hay server internet TCP với Buffer và các biến host hay server Được kiểm soát bởi người lập trình ứng dụng Được kiểm soát bởi hệ điều .