dinhphien / project-distributed-systems Goto Github PK
View Code? Open in Web Editor NEWViết ứng dụng myssh mô phỏng chương trình “ssh” để Client kết nối từ xa đến Server thực hiện các lệnh hệ thống trên Server dùng socket, giao thức TCP. Kịch bản hoạt động yêu cầu như sau: - Giao diện dòng lệnh - Multiclients: cho phép nhiều clients kết nối đồng thời (giới hạn N clients, vượt quá N thì không cho phép kết nối) - Khi client kết nối tới phải đăng nhập (username / pass). CSDL người dùng là của chương trình, không phải của hệ thống, cơ chế lưu tùy ý (CSDL, text, v.v) + Server thông báo kết nối thành công hay không - Khi kết nối thành công thì client có thể thực hiện các lệnh trên hệ thống của server + Các lệnh có thể có tham số hoặc không + Một số lệnh cơ bản: hiển thị thư mực hiện thời, in danh sách các tệp, thư mục trong thư mục hiện thời, xóa, di chuyển tệp, thư mục, hiển thị ngày giờ hệ thống, v.v... - Server phân tích lệnh nhận được từ phía client, thực hiện và trả kết quả cho client + Nếu các lệnh thực hiện không được phép chạy thì phải thông báo lỗi. + Lệnh chạy trên server phụ thuộc vào hệ điều hành mà server được cài đặt lên (Windows, Linux) - Kết thúc phiên làm việc client gửi lệnh ngắt kết nối tới server và chấm dứt kết nối.