đảm bảo đồng bộ hóa hoạt động quan trọng được thực hiện tại một thời gian, đảm bảo đảm bảo tính toàn vẹn của dữ liệu.
■ Các bộ sưu tập của các trường hợp của ConnectionToClient duy trì bởi AbstractServer
đang được lưu trữ sử dụng một lớp Java đặc biệt gọi là ThreadGroup. Lớp này sẽ chăm sóc của
tự động loại bỏ các yếu tố khi một sợi chấm dứt.
■ Các máy chủ phải thường xuyên mất một tạm dừng tạm thời nghe thấy nếu các
phương pháp stopListening đã được gọi là; nếu không, sau đó nó hồ sơ xin việc lắng nghe
ngay lập tức. Một lựa chọn thiết kế sẽ có phương pháp stopListening
buộc các chủ đề nghe để chấm dứt; Tuy nhiên, đó sẽ rời khỏi
ServerSocket trong trạng thái không ổn định. Phương pháp setTimeout có thể được sử dụng để thiết lập
khoảng thời gian giữa tạm dừng máy chủ; nó xác định thời gian tối đa mà máy chủ
Để minh họa việc sử dụng OCSF, chúng tôi trình bày ở đây một client-server ngay lập tức đơn giản
hệ thống tin nhắn. Chúng tôi gọi SimpleChat này, và mã nguồn của nó có thể được tìm thấy trên
trang web của cuốn sách. Phiên bản trình bày ở đây là giai đoạn 1 của SimpleChat.
Bài tập dự án khác nhau được tìm thấy ở cuối này và tiếp theo chương hỏi
bạn thêm tính năng để SimpleChat.
Phía máy chủ của SimpleChat là đặc biệt đơn giản. Tất cả các máy chủ không là
thông điệp vang đến từ khách hàng cho tất cả các máy khách kết nối; do đó các lớp được
gọi là EchoServer. EchoServer tự nó không có giao diện người sử dụng; một khi bắt đầu quá trình của nó
phải bị giết hoặc nó sẽ chạy vô thời hạn.
Như hình 3.8 cho thấy, EchoServer chỉ đơn giản là một lớp con của AbstractServer. Các chính
phương pháp tạo ra một thể hiện mới và bắt đầu lắng nghe cho các kết nối máy chủ bằng cách
gọi điện thoại nghe. Để cung cấp thông tin phản hồi, tất cả các phương pháp gọi lại chỉ cần in ra
thông điệp đến giao diện điều khiển của người dùng. Các phương pháp chính được nhấn mạnh vì chúng là
tĩnh.
Hình 3.8 Mở rộng khuôn khổ OCSF để xây dựng các ứng dụng SimpleChat
tin nhắn sẽ được hiển thị cho người dùng cuối, như được thảo luận dưới đây. ChatClient cũng có
hai phương pháp khác được gọi bằng các giao diện người dùng.
đang được dịch, vui lòng đợi..
