

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ủ