Yêu cầu giao diện:
Phía máy chủ có giao diện thân thiện với người dùng, các chức năng được thiết kế sao cho dễ sử dụng.
Phía máy trạm: có thể có giao diện hoặc không có giao diện.
Khi máy trạm được kết nối vào server, tại server sẽ hiển thị biểu tượng và địa chỉ IP mà máy tính đã kết nối vào lúc này người quản lý sẽ sử dụng các chức năng đã được thiết kế trên thanh menu hoặc sử dụng một số chức năng bằng cách chọn chuột phải vào biểu tượng các máy tính đã kết nối và thực hiện một số chức năng để quản lý.
Các phương thức kết nối:
Để các máy trạm và máy chủ có thể kết nối và “giao tiếp” được với nhau chương trình cần phải xây dựng các phương thức kết nối và các data packet (gói tin):
Xây dựng Datapacket:
- Để các máy tính có thể “giao tiếp” được với nhau chương trình phải có cơ chế riêng để cho hai máy hiểu được nhau. Để thực hiện được việc này chung ta cần đi xây dựng gói tin bao gồm các thành phần:
- Datapacket: là một gói dữ liệu được định nghĩa theo một cấu trúc nhất định.
- Command: Là các lệnh được thực thi.
Text: Một đoạn văn bản dùng để thông báo.
Cmd: Câu lệnh thực thi.
Name: Tên máy tính hoặc địa chỉ IP của máy. Dựa vào địa chỉ này máy chủ sẽ xác định việc áp dụng lệnh cho từng máy hay là toàn bộ các máy.
- ComandType: Loại lệnh thực thi. Phía máy chủ và máy trạm dựa vào CommandType này để nhận biết các khối lệnh cần thực thi là gì để có chế xử lý phù hợp.
Ví dụ:
Với CommandType là shutdown là lệnh yêu cầu tắt máy.
Với CommandType là LockUSB là lệnh khóa cổng USB.
….
- DataPackage: Là thành phần quan trọng nhất của một gói tin, DataPackage bao gồm hai thành phần chính là:
DataPackageheader: Tiêu đề của gói tin. Cung cấp cho chương trình khả năng chuyển đổi các tiêu đề từ dạng byte sang dang chuỗi ký tự.
DataPackage: Cấu trúc của gói tin. Một gói tin được định nghĩa như sau:
public DataPackage(Command cmd, string filename, int dataLength) { this.Cmd = cmd; this.Filename = filename; this.DataLength = dataLength; } Trong đó: - Cmd: Là lệnh thực thi.
- Filename: Tên file được gửi đi. - Datalength: Độ dài của gói tin.
Phía máy chủ:
- Phương thức khi khởi động máy chủ: Là phương thức được sử dụng khi chương trình bắt đầu khởi động, với phương thức này phía máy chủ sẽ tự động lấy địa chỉ IP của máy trạm trong file ListClients.dat ra để đọc các địa chỉ IP phía máy trạm vào để kết nối.
- Phương thức khởi tạo máy chủ: Khi máy chủ được khởi động lúc này máy chủ sẽ đồng thời sẽ mở ra một luồng kết nối để lắng nghe các máy trạm, luồng kết nối này luôn luôn được duy trì để cho phép các máy trạm khác kết nối đến.
Phía máy trạm:
- Phương thức khởi động: Sau khi tại máy chủ đã được mở các luồng kết nối để chờ máy trạm kết nối vào thì tại phía máy trạm sẽ xác định địa chỉ của máy chủ và cổng kết nối. Dựa vào địa chỉ và cổng này nếu địa chỉ IP và cổng kết nối là đúng thì phía máy chủ sẽ chấp nhận việc kết nối giữa 2 máy và bắt đầu thực hiện việc “giao tiếp” với nhau. Phía máy trạm luôn luôn kết nối, chờ lệnh và xử lý yêu cầu từ máy chủ thông qua các gói tin truyền.