Bài giảng Lập trình mạng: Bài 5 - Bùi Trọng Tùng

Bài giảng "Lập trình mạng - Bài 5: Remote procedure call (RPC)" cung cấp cho người học các kiến thức: Remote procedure call là gì, kiến trúc của Remote procedure call, Java RMI, MS Remote procedure call. . | BÀI 4. REMOTE PROCEDURE CALL (RPC) 1 Nội dung • RPC là gì? • Kiến trúc của RPC • Java RMI • MS RPC • 2 1 1. MÔ HÌNH RPC 3 Đặt vấn đề • Làm thế nào để hai tiến trình client và server giao tiếp với nhau? • Sử dụng socket • Xây dựng giao thức hướng thông điệp (message-oriented protocol) Khó khăn? • Tổ chức thông điệp ở phía gửi như thế nào? • Xử lý thông điệp ở phía nhận • Xử lý trạng thái blocking • Không dễ dàng để triển khai • Khó có tính mở Làm cách nào client chỉ cần “gọi” các thủ tục của server giống như lời gọi trên tiến trình cục bộ? Remote Procedure Call (RPC) 4 2 RPC là gì? • Là cơ chế giao tiếp giữa 2 tiến trình • Thực hiện lời gọi thủ tục trên tiến trình khác giống như lời gọi thủ tục trong một tiến trình cục bộ • Được xây dựng thành framework • Dễ dàng phát triển các giao thức mới, phần mềm sụn (middleware) 5 Nguyên lý cơ bản của RPC • Tiến trình server: cung cấp một giao diện (interface) cho thủ tục/hàm để client gọi: • Tương tự thư viện lập trình API • Tiến trình client: • Gọi thủ tục/hàm • Dừng chờ kết quả trả về • Trao đổi dữ liệu giữa client và server thông qua tham số, giá trị trả về của hàm • Trong suốt: • Cấu trúc thông điệp • Phân tán dịch vụ • Kiến trúc của hệ thống từ xa 6 3 Lời gọi thủ tục trên tiến trình cục bộ count = read(fd, buf, nbytes) 7 RPC 8 4 Asyncronous RPC 9 Lời gọi cục bộ và RPC • Giả sử một thủ tục có khai báo nguyên mẫu: bool verifyUser(char * userID, char *pass) • Lời gọi cục bộ: trả về false hoặc true • Sử dụng socket và giao thức hướng thông điệp: thực hiện như thế nào? • RPC: trong suốt • Giá trị trả về: false hoặc true • ? • I don’t .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.