Đề tài 1: Tìm hiểu các lời gọi hệ thống System calls Đề tài 2: Sử dụng Socket trong Java xây dựng chương trình chat qua mạng LAN... CƠ SỞ LÝ THUYẾT System call lời gọi hệ thống cung cấp
Trang 1Đề tài 1: Tìm hiểu các lời gọi hệ thống (System calls)
Đề tài 2: Sử dụng Socket trong Java xây dựng chương trình chat qua mạng LAN
Trang 31 System calls là gì?
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
System call (lời gọi hệ thống) cung cấp một giao diện giữa chương trình người dùng (User program) và hệ điều hành (Operating system) Thông thường là các chỉ thị bằng ngôn ngữ assembler Chương trình người dùng sử dụng các lời gọi hệ thống
để liên lạc với hệ điều hành và yêu cầu các dịch vụ từ hệ điều hành.
Trang 4Các loại lời gọi hệ thống: có thể nhóm thành các loại như
sau
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
Trang 5CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
2 Các lời gọi hệ thống trong quản lý file, thư mục
Trang 6CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
2 Các lời gọi hệ thống trong Win32 API
Trang 7CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
2 Các lời gọi hệ thống trong Win32 API
Trang 8 Xây dựng với các chức năng: Tạo File, Xoá File,
Copy; Tạo thư mục, xoá thư mục, đổi tên.
• Ứng dụng các hàm đã được tích hợp sẵn trong API về
quản lý file, thư mục để xây dựng các chức năng của
chương trình.
• Tổng hợp các chức năng lại với nhau để xây dựng một
chương trình quản lý file, thư mục hoàn chỉnh.
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Trang 10CHƯƠNG 3:TRIỂN KHAI VÀ ĐÁNH GIÁ
Chạy chương trình
Trang 11CHƯƠNG 3:TRIỂN KHAI VÀ ĐÁNH GIÁ
Kết quả
Trang 14Hướng phát triển
Cải thiện giao diện thân thiện hơn với người dùng.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trang 17Socket là một đầu cuối của một sự truyền thông hai chiều, liên kết
giữa hai chương trình chạy trên mạng.
Nó được gắn với một số hiệu cổng (port), vì thế tầng giao vận có
thể nhận biết ứng dụng mà dữ liệu được chuyển đến.
Socket cho phép thực hiện các hoạt động sau:
Trang 18.
Sử dụng Socket trong mô hình Client-Server:
Client gửi yêu cầu đến Server
Server đồng ý kết nối và lắng nghe
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Trang 19Mô hình truyền tin Socket
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Trang 20CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu: Sử dụng Socket trong Java xây dựng chương trình chat qua mạng LAN
Xây dựng chương trình Server
Tạo một TCP Socket và gắn vào một cổng
Xây dựng một chương trình Server đa tuyến để cho phép nhiều Client kết nối tới Server Mỗi tuyến đảm bảo liên lạc với Client
Chờ lắng nghe yêu cầu kết nối từ Client
Chấp nhận kết nối và nhận Socket tương ứng
Truyền nhận thông tin qua các luồng nhận, gửi dữ liệu của socket
Khi một user login vào Server thì server sẽ cập nhật user đó và gửi tới Client
đang kết nối
Khi một user logout ra khỏi Server thì Server hiện thông báo user đó đã logout và gửi tới Client
Đóng kết nối
Trang 21CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Xây dựng chương trình Client
Tạo một TCP Socket với địa chỉ IP và số cổng mà chương trình Server đang chạy
Thiết lập kết nối tới Server
Trao đổi dữ liệu với Server
Cập nhật các user khác vào login/logout
Gửi/ nhận thông điệp tới tất cả mọi người có trong phòng chat
Đóng kết nối
Trang 22CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Sử dụng thread trong mô hình Client-Server
Để cho phép nhiều Client có thể kết nối đến server thì server phải là chương trình đa tuyến
Mỗi tuyến (thread) đảm nhận việc liên lạc với client Nghĩa là khi có một client kết nối đến, chương trình server sinh ra một tuyến (thread) để điều khiển việc truyền
thông với client
Trang 23CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Sử dụng thread trong mô hình Client-Server
Trang 24CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
Môi trường triển khai:
Ứng dụng được viết bằng ngôn ngữ lập trình Java sử dụng Socket TCP, công cụ hỗ trợ lập trình là Eclipse, Netbean tương thích các phiên bản HĐH Windows
Trang 27KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1 Kết quả đạt được
Mô phòng được mô hình client – server trong mạng LAN
Thực hiện được yêu cầu bài toán đề ra
Dùng giao thức TCP/IP trong truyền dữ liệu
Thực hiện được việc kiểm tra trong kết nối giữa client – server
2 Những vấn đề còn tồn tại
Chương trình còn đơn giản
Giao diện sơ sài
Chỉ thực hiện được kết nối giữa client – server
Trang 28KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Hướng phát triển
Hoàn thiện giao diện đẹp và phù hợp với người dùng
Mở rộng ứng dụng trong chương trình chat:
Xử lý truyền file qua chương trình chat
Xây dựng hệ cơ sở dữ liệu quản lý thông tin đăng nhập
Phát triển trên mạng rộng ngoài LAN
Trang 29-Cách chương trình tương tác với hệ điều hành.
-Các hàm của thư viện Win32 API
-Các giao thức kết nối mạng
-Các mô hình ứng dụng thường áp dụng
Ngoài ra, em đã biết cách tổ chức sắp xếp thời gian học tập hợp lý
Cũng qua đồ án này, em nhận thấy mình còn nhiều thiếu sót trong việc bổ
sung kiến thức chuyên môn
Qua đây, cũng là bài học cho bản thân em về việc nâng cao khả năng tự học
Không ngừng cố gắng để củng cố kiến thức
Trang 30• [1] Nguyễn Phương Lan-Hoàng Đức Hải, Lập trình Linux, tập1, NXB Giáo
dục, 2001
• [2] Đỗ Duy Việt-Nguyễn Hoàng Thanh Ly, Linux kernel
• [3] Nguyễn Thanh Thủy, Nhập môn hệ điều hành Linux
• [4] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà Nẵng
• [5] Andrew S Tannenbaum, Modern Operating Systems, Prentice Hall 2 nd
• [6] Mai Văn Hà, Bài Giảng Lập trình mạng, Khoa CNTT trường Đại học
Bách khoa Đà Nẵng
• [7] Internet
Trang 31THANK YOU FOR WATCHING!