

Preview text:
lOMoAR cPSD| 58886076
Quản lý các máy trong mạng LAN I. Thành viên Lê Văn Bảo II. Mô tả hệ thống
Giao thức được xây dựng dựa trên giao thức TCP. Cấu trúc gói tin như sau:
Phần Head cố định 1 byte, biểu diễn được 255 giá trị khác nhau, mỗi giá trị khác nhau có
nhiệm vụ xác định xem chức năng, hàm nào sẽ được thực hiện
Phần Data.length cố định 2 bytes, biểu diễn được 65535 giá trị khác nhau, là chiều dài của phần Data phía sau
Phần Data kích thước <1450 bytes (Do TCP chỉ cho phép truyền dưới 1500 bytes trong 1
thời điểm). Sử dụng hàng đợi đa luồng (?) để điều độ lượng byte được gửi trong 1 thời điểm
Quá trình kết nối: Máy chủ luôn có 1 kênh lắng nghe các kết nối ⇒ Máy khách khi kết
nối thì gửi các thông tin cơ bản được đóng gói thành lớp Device ⇒ Máy chủ chấp nhận kết nối,
xử lý Device và gửi lại các yêu cầu khởi tạo chức năng Chức năng cơ bản •
Máy khách tự động thử kết nối tới máy chủ, trường hợp máy khách được chạy trước máy chủ •
Máy khách tự động kết nối lại tới máy chủ khi bị ngắt kết nối, trường hợp máy
khách và máy chủ đã được kết nối với nhau mà máy chủ khởi động lại Chức năng chính •
Gửi file: Gửi một file bất kỳ từ máy chủ sang các máy khách, không giới hạn
dung lượng file được gửi. Kỹ thuật chia nhỏ file để gửi •
Tắt máy khách: Server gửi lệnh tắt máy tới máy khách để thực hiện •
Phát hiện USB: Máy khách kiểm tra khi USB được cắm và thực hiện hành động
tương ứng mà máy chủ chỉ định •
Phát hiện tiến trình đang chạy: Máy khách kiểm tra sự xuất hiện tiến trình nằm
trong blacklist trên máy chủ và thực hiện hành động tương ứng mà máy chủ chỉ định •
Theo dõi hành động sao chép: Máy khách theo dõi và gửi dữ liệu chuỗi mà
người dùng đã thực hiện sao chép tới máy chủ •
Theo dõi màn hình: Máy khách được tích hợp TightVNC, máy chủ có thể thực
hiện kết nối VNC theo dõi màn hình •
Điều khiển từ xa: Máy khách được tích hợp TightVNC, máy chủ có thể thực hiện
kết nối VNC điều khiển máy khách (Gần giống TeamViewer) •
Theo dõi thiết bị ngoại vi: Máy khách thực hiện theo dõi những phần cứng đang
gắn và gửi dữ liệu về những phần cứng đó về máy chủ
III. Môi trường phát triểnCông cụ
phát triển: Eclipse Kỹ thuật: lOMoAR cPSD| 58886076 •
Java NIO: Thư viện I/O cải tiến của Java có sẵn từ phiên bản 1.4. Ưu điểm tốc độ
xử lý nhanh hơn Java IO thông thường. •
Non-blocking channel: Kỹ thuật sử dụng 1 luồng lặp qua các kênh kết nối để xử
lý các yêu cầu đọc/ghi/chấp nhận/kết nối. Ưu điểm máy chủ có thể phục vụ nhiều
máy khách mà chỉ sử dụng 1 luồng. Nhược điểm cài đặt phức tạp
hơn Công nghệ: Java 8 Thư viện: •
eo-yaml: Thư viện tương tác với tệp .yml •
vernacular: Thư viện cho mô phỏng VNC Client Công cụ tích hợp: •
WMIC: Công cụ cung cấp giao diện hệ điều hành •
TightVNC: Chương trình máy chủ VNC
IV. Hạn chế/Hướng phát triểnHạn chế: •
Chỉ chạy được trên Windows •
Giao diện không đẹp, chưa hợp lý •
Ở chức năng theo dõi sao chép: Chuỗi cần gửi bị hạn chế về độ dài (1450 ký tự tương ứng 1450 bytes) •
Chưa được kiểm tra trường hợp một lượng lớn máy khách kết nối cùng lúc, do đó
có thể còn nhiều lỗi chưa được phát hiện Hướng phát triển: •
Máy chủ có thể gửi lệnh để lấy một file từ máy khách •
Xây dựng phiên bản cài đặt •
Cải tiến chức năng theo dõi hành động sao chép: Có thể theo dõi file mà người
dùng (máy khách) đã thực hiện sao chép, và không hạn chế kích thước dữ liệu sao chép •
Ghi lại log chi tiết quá trình hoạt động của máy chủ