Professional Documents
Culture Documents
đối tượng.
Thủ tục tạo một NewPortObject
Một port object là 1 thread chứa 1 hay nhiều port.
Trong sự trừu tượng hóa thủ tục tạo port này ta
xem như port object chỉ chứa 1 port. Fun là một
hàm nào đó nhận Msg và thay đổi trạng thái State.
Thủ tục tạo một NewPortObject (tt)
Nếu cho rằng port object không chứa trạng thái
riêng của nó ta có thủ tục đơn giản hơn như sau:
Ví dụ chương trình sử dụng port
Ví dụ: có 3 người choi với 1 quả bóng, một người
có bóng sẽ chuyền bóng tới một người bất kì
trong 2 người còn lại.
Ví dụ chương trình sử dụng port (tt)
Đoạn code tạo người chơi có sử dụng thủ tục tạo
NewObjectPort2 ở trên:
Ví dụ chương trình sử dụng port (tt)
Khởi động chương trình:
Các giao thức đơn giản của thông điệp
Giao thức của thông điệp là gì?
Tại sao cần phải có giao thức?
Các giao thức phổ biến.
Các giao thức đơn giản của thông điệp
Giao thức của thông điệp: là các quy ước về
chuỗi các thông điệp, nói nôm na, các giao thức
quy định thông điệp đầu chứa nội dung gì, thông
điệp thứ 2, thứ 3, …
Mục đích của giao thức: để cho các port object
trao đổi thông tin với nhau đúng cách và thực hiện
được những đặc điểm kĩ thuật (specification) mà
giao thức đó mô tả.
Các giao thức đơn giản của thông điệp
Các giao thức đơn giản:
Giao thức internet TCP/IP, HTTP, FTP, …
Giao thức mạng nội bộ: Ethernet, DHCP, …
RMI và RPC
RMI (remote method invocation) và RPC (remote
procedure call): đều là giao thức cho phép một object gọi
1 object khác trên cùng máy tính hoặc trên máy khác
thông qua mạng.
RPC dùng cho object là procedure, còn RMI dùng cho
object là method của 1 instance của 1 class.
Server và client được viết trên các ngôn ngữ khác nhau
nhưng được xây dựng theo kiến trúc CORBA thì vẫn có
thể giao tiếp với nhau.
Ta có thể dùng khái niệm port object để suy luận (reason)
khi làm việc với RMI, RPC, mặc dù về chi tiết thì chúng
rất khác nhau.
Các dạng khác nhau của RMI
RMI đơn giản (2 calls)
RMI có gọi ngược sử dụng thread
RMI có gọi ngược sử dụng thread (tt)
RMI có gọi ngược sử dụng thread (tt)
Phương pháp thiết kế chương trình đa luồng