Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
MỤC LỤCTỔNG QUAN VỀ ĐỀ TÀI
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớGiới thiệu đề tàiXây dựng chương trình “Điều k...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerChương 1. CƠ SỞ LÝ THUYẾTGiới thiệu mô hình ứng dụng Cl...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớKiến trúc Client-Server được sử dụng trong các...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerDễ bảo trì: nhờ khả năng quản lý tập trung mà công việc...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớClient: là chương trình giao tiếp với người sử...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 4. Giao thức hoạt động bất đối xứng của các tiến t...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớHình 5. Tầng vận chuyển Transport với TCP/IP.T...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 6. Ánh xạ tên miềnThông thường, mỗi máy tính chỉ c...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớMột socket là một đầu cuối của một sự truyền t...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 8. Thiết lập đường dẫn cho kết nối hai chiều giữa ...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớMở cổng:ServerSocket server = new ServerSocket...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerGửi dữ liệu đến server: dos.writeBytes(“Hellon”);Đóng s...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớimport java.io.*;public class SimpleServer {pu...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-Serverimport java.net.*;import java.io.*;public class SimpleC...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớCác bước tạo chương trình đa server đa tuyếnTạ...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerMyThread t = new MyThread();t.start();}}3. Lập trình vớ...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớChương trình thực thi được trên Windows được b...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerĐa nhiệm – đa luồng (MultiTasking – Multithreading):Jav...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớChương 1. THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH2.1...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerĐề tài xây dựng chương trình “Điều Khiển Từ Xa”:Chương ...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớ- Theo dõi màn hình với máy client.Mô hình tổn...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-Server3: Client gửi dữ liệu xuyên suốt cho Server.Server: chư...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớChương 2 KẾT LUẬN VÀ HUỚNG PHÁT TRIỂN3.1. Kết ...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 13: Khởi động Client3.2. Đánh giá và nhận xét:Tron...
Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớTruyền âm thanh giữa Client-ServerTÀI LIỆU THA...
Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-Server[1] TS.Huỳnh Công Pháp, Giáo trình lập trình mạng(2004-...
Upcoming SlideShare
Loading in …5
×

Bao cao do an ltm hoan chinh

2,239 views

Published on

  • k có demo ???
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Bao cao do an ltm hoan chinh

  1. 1. MỤC LỤCTỔNG QUAN VỀ ĐỀ TÀI
  2. 2. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớGiới thiệu đề tàiXây dựng chương trình “Điều khiển từ xa”.Chương trình Client : cho phép server truy cập tới và thực hiên các chức năng điềukhiển.Chương trình Server:Gởi thông điệp đến máy client.Truyền và nhận file với máy client.Chụp màn hình với máy client.Theo dõi màn hình với máy client.2. Phương pháp triển khaiDùng phương pháp lập trình mạng TCP Socket threaded Server để tạo kết nối Client-Serve, tạo và biểu diễn các luồng I/O.Server sẽ truy cập tới máy tính client và thực hiên việc điều khiển.Trang | 2SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  3. 3. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerChương 1. CƠ SỞ LÝ THUYẾTGiới thiệu mô hình ứng dụng Client-Server1.1. Kiến trúc Client-ServerTổng QuanTrang | 3GVHD: Phạm Minh Tuấn
  4. 4. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớKiến trúc Client-Server được sử dụng trong các hệ thống phân tán và bao gồm hai thànhphần riêng biệt: Server đóng vai trò phục vụ cung cấp chức năng và Client đóng vaitrò người tiêu thụ sử dụng các chức năng đó. Thông thường hai thành phần này kếtnối với nhau qua mạng, với Client là bên chủ động tạo kết nối và gửi yêu cầu đếnServer, trong khi Server thụ động lắng nghe và hồi đắp các yêu cầu đó.Mô hình Client-Server đơn giản nhất gồm một Server phục vụ cho một hoặc nhiềuClient đồng thời, còn gọi là kiến trúc hai lớp (2-Tier). Một ví dụ phổ biến nhất chocác ứng dung Client-Server là các chương trình chat và email đá quá thông dụnghiện nay.Hình 1. Mô hình Client-Server.1.1. 2. Các ưu điểm của kiến trúc Client-ServerQuản lý tập trung: dữ liệu được lưu trữ tập trung trên Server thay vì nằm rải ráctrênnhiều máy, giúp đơn giản hóa việc truy xuất và cập nhật dữ liệu.Trang | 4SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  5. 5. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerDễ bảo trì: nhờ khả năng quản lý tập trung mà công việc bảo trì cũng trở nên nhẹ nhànghơn vì phần lớn việc bảo trì chỉ cần thực hiện trên Server. Trong trường hợp hệthống có nhiều Server với thiết bị dự phòng, quá trình bảo trì (như sửa chữa, thaythế Server) có thể diễn ra hoàn toàn trong suốt với phía Client.Bảo mật dữ liệu tập trung trên Server đồng nghĩa với việc kiểm soát dễ dàng hơn.Hình 2 . Mô hình hệ thống Email theo cấu trúc Client-Server.1.2. Ứng dụng theo mô hình Client-Server1.2. 3. Cách hoạt độngCác tiến trình Clients và Servers có thể chạy cùng một trạm (host) hoặc các trạm khácnhau và là các đối tượng logic tách biệt và liên lạc với nhau qua mạng để cùng thựchiện một công việc. Trong đó:Server: quản lý nguồn tài nguyên, nhận request từ Clients để cung cấp và phân phối tàinguyên cho Clients.Trang | 5GVHD: Phạm Minh Tuấn
  6. 6. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớClient: là chương trình giao tiếp với người sử dụng, có nhiệm vụ gửi request choServer và thể hiện việc tiếp nhận tài nguyên đó.Client:Khởi tạo liên lạc với Server trước.Yêu cầu dịch vụ nào đó từ Server.Server:Chấp nhận yêu cầu và tạo kết nối với Client.Tính toán rồi cung cấp dịch vụ theo yêu cầu từ ClientHình 3. Cách hoạt động của mô hình Client-Server.1.2. 3. Đặc trưng của mô hình ứng dụng Client-ServerHoạt động theo kiểu giao thức bất đối xứngThể hiện quan hệ một chiều giữa các Client và một Server.Client bắt đầu phiên hội thoại bằng cách yêu cầu dịch vụServer sẵn sang chờ các yêu cầu từ Client.Trang | 6SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  7. 7. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 4. Giao thức hoạt động bất đối xứng của các tiến trình Client-Server.Chia sẻ tài nguyên:Một Server có thể chia sẻ tài nguyên cho nhiều Client cùng một lúc.Server cũng có khả năng điều phối truy nhập các Client đến các tài nguyên dùn chung.Lập trình với giao thức TCP, Multi-threading2.1. Tổng quanTrong mô hình ứng dụng Client-Server, thông thường, các chương trình chạy trên máyClient sẽ gửi requests tới một chương trình (thường được gọi là chương trìnhServer) đang chạy trên máy Server. Các gói request này bao gồm các dịch vụ mạngđược cung cấp bởi tầng lớp giao vận (transport layer), là một phần của kiến trúcphân tầng mạng, thường được gọi là TCP/IP (Transport Control Protocol/InternetProtocol). Tầng giao vận bao gồm hai loại giao thức là TCP và UDP(UserDatagram Protocol)Trang | 7GVHD: Phạm Minh Tuấn
  8. 8. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớHình 5. Tầng vận chuyển Transport với TCP/IP.TCP là một giao thức truyền hướng đối tượng được thực hiện bởi một luồng dữ liệu tincậy giữa hai máy tính khi có thiết lập kết nối. Ví dụ những ứng dụng được sử dụngnhững dịch vụ như HTTP, FTP và Telnet.2. 2. IP, Cổng Port và SocketMọi máy tính trong môi trường Internet đều được xác định bởi địa chỉ IP 4-byte màđược viết dạng chấm như 128.250.25.158, trong đó mỗi byte là một giá trị khôngdấu từ 0 đến 255. Nhưng cách đặt tên cho địa chỉ như vậy thì không thân thiện bởivì nó chẳng nói lên được bất cứ điều gì về nội dung và thật khó để nhớ những dãybyte đó. Do đó, địa chỉ IP được xác định bởi những cái tên như www.google.com.vnđể cho dễ nhớ.Trang | 8SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  9. 9. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 6. Ánh xạ tên miềnThông thường, mỗi máy tính chỉ có một địa chỉ IP. Tuy nhiên, các máy tính thường cầnkết nối và cung cấp hơn một loại kiểu dịch vụ hoặc để thông báo cho nhiềumáychủ/máy tính cùng thời điểm. Ví dụ, trong một máy tính đang làm việc, có thểcó nhiều phiên ftp, các kết nối web, và các chương trình chat và tất cả chương trìnhnày cùng chạy một thời điểm. Vậy đển phân biệt các dịch vụ này, ta có khái niệm vềcổng (port), là một điểm truy cập logic được biểu diễn bởi một số nguyên 16-bitgắn cho mỗi tiến trình mạng. Và mỗi tiến trình mạng đều được gắn một cổng duynhất.Hình 7. Biểu đồ các gói tin được gắn bởi một cổng nhất định.Trang | 9GVHD: Phạm Minh Tuấn
  10. 10. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớMột socket 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ươngtrình chạy trên mạng.Một socket đượ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:Kết nối đến máy ở xaGửi dữ liệuNhận dữ liệuĐóng kết nốiGắn với một cổngLắng nghe dữ liệu đếnChấp nhận kết nối từ máy ở xa trên cổng đã được gắn.Một (chương trình) server chạy trên một máy tính cụ thể và có một socket được gắnbởi một cổng cụ thể. Chương trình server sẽ lắng nghe socket từ một client để tạomột yêu cầu kết nối. Nếu thành công, chương trình server chấp nhận kết nối. Saukhi chấp nhận kết nối, chương trình server có một socket mới được gắn bởi mộtcổng khác. Nó cần một socket mới để có thể tiếp tục lắng nghe socket ban đầu choyêu cầu kết nối trong khi phục vụ cho việc kết nối với client.Trang | 10SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  11. 11. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 8. Thiết lập đường dẫn cho kết nối hai chiều giữa client và server.2. 3. Lập trình TCP SocketCó hai lớp của gói java.net được sử dụng để tạo những chương trình server và client:ServerSocketSocketMột chương trình server tạo một socket cụ thể được sử dụng để chờ lắng nghe kết nốitừ yêu cầu của client (server socket). Trong một yêu cầu kết nối, chương trình tạora một socket mới mà thông qua đó nó sẽ trao đổi dữ liệu với client sử dụng cácluồng input và output. Người lập trình phải mở một socket, thực hiên các việc tạovà biểu diễn các luồng I/O, và sau đó là đóng socket.Hình 9. Chương trình client-server có kết nối socket.Các bước tạo một chương trình server đơn giản:Trang | 11GVHD: Phạm Minh Tuấn
  12. 12. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớMở cổng:ServerSocket server = new ServerSocket(PORT);Chờ kết nối từ Client:Socket client = server.accept();Tạo các luồng I/O cho sự kết nối với ClientDataInputStream dis = new DataInputStream(client.getInputStream());DataOutputStream dos = new DataOutputStream(client.getOutputStream());Biểu diễn việc kết nối với ClientNhận từ client: String line = dis.readLine();Gửi tới client: dos.writeBytes(“Hellon”);Đóng socketclient.close();Các bước tạo một chương trình client đơn giản:Tạo một đối tượng socketSocket client = new Socket(server, port_id);Tạo các luồng I/O cho sự kết nối với serverdis = new DataInputStream(client.getInputStream());dos = new DataOutputStream(client.getOutputStream());Thực hiện nhận và truyền dữ liệu qua luồng I/ONhận dữ liệu từ server: String line = dis.readLine();Trang | 12SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  13. 13. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerGửi dữ liệu đến server: dos.writeBytes(“Hellon”);Đóng socket khi hoàn thànhclient.close();Hình 10. Các bước tạo một ứng dựng TCP.Hai chương trình ví dụ sau sẽ minh họa cơ chế của Server và Client:Chương trình Server:// SimpleServer.java: A simple server program.import java.net.*;Trang | 13GVHD: Phạm Minh Tuấn
  14. 14. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớimport java.io.*;public class SimpleServer {public static void main(String args[]) throws IOException {// Register service on port 7000ServerSocket s = new ServerSocket(7000);Socket s1=s.accept(); // Wait and accept a connection// Get a communication stream associated with the socketOutputStream s1out = s1.getOutputStream();DataOutputStream dos = new DataOutputStream (s1out);// Send a string!dos.writeUTF(“Hi there”);// Close the connection, but not the server socketdos.close();s1out.close();s1.close();}}Chương trình Client:// SimpleClient.java: A simple client program.Trang | 14SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  15. 15. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-Serverimport java.net.*;import java.io.*;public class SimpleClient {public static void main(String args[]) throws IOException {// Open your connection to a server, at port 7000Socket s1 = new Socket(“localhost”,7000);// Get an input file handle from the socket and read the inputInputStream s1In = s1.getInputStream();DataInputStream dis = new DataInputStream(s1In);String st = new String (dis.readUTF());System.out.println(st);// When done, just close the connection and exitdis.close();s1In.close();s1.close();}}2. 4. Lập trình với chương trình server đa tuyến (ThreadServer)Để cho phép nhiều client có thể kết nối đến server thì server phải là chương trình đatuyến. Mối tuyến (thread) đảm nhận việc liên lạc với client. Nghĩa là khi có mộtclient kết nối đến, chương trình server sinh ra một tuyến (thread) để điều khiển việctruyền thông với client.Trang | 15GVHD: Phạm Minh Tuấn
  16. 16. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớCác bước tạo chương trình đa server đa tuyếnTạo một lớp extends đến lớp Thread và ghi đè lên phương thức run():class MyThread extends Thread {public void run() {// Nơi thực thi}}Tạo một đối tượng thread:MyThread thr1 = new MyThread();Bắt đầu thực thi lớp Thread đã được tạo:thr1.start();Một chương trình ví dụ minh họa việc tạo và gọi một đối tượng thread:extending the standard Thread class. */class MyThread extends Thread {public void run() {System.out.println(“ this thread is running ... ”);}}class ThreadEx1 {public static void main(String [] args ) {Trang | 16SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  17. 17. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerMyThread t = new MyThread();t.start();}}3. Lập trình với JAVA3.1. Giới thiệu khái quát ngôn ngữ JavaJava (đọc như “Gia-va”) là một ngôn ngữ lập trình dạng lập trình hướng đối tượng(OOP). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mãnguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biêndịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi(runtime environment) chạy. Bằng cách này, Java thường chạy nhanh hơn nhữngngôn ngữ lập trình thông dịch khác như Python, Perl, PHP,…Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượngđơn giản hơn và ít tính năng xử lý cấp thấp hơn.3. 2. Một số đặt điểm nổi bật của ngôn ngữ lập trình Java3.2.1. Máy ảo Java (JVM – Java Virtual Machine)Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã máy.Mã máycủa từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máy của CPUIntel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậy trước đây một chươngtrình sau khi được biên dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụthể nào đó. Đối với CPU Intel chúng ta có thể chạy các hệ điều hành như MicrosoftWindows, Unix, Linux, OS/2, …Trang | 17GVHD: Phạm Minh Tuấn
  18. 18. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớChương trình thực thi được trên Windows được biên dịch dưới dạng file có đuôi .EXEcòn trên Linux thì được biên dịch dưới dạng file có đuôi .ELF, vì vậy trước đây mộtchương trình chạy được trên Windows muốn chạy được trên hệ điều hành khác nhưLinux chẳng hạn thì phải chỉnh sửa và biên dịch lại.Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên đã đượckhắc phục. Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ramã của máy ảo java (mã java bytecode). Sau đó máy ảo Java chịu trách nhiệmchuyển mã java bytecode thành mã máy tương ứng.Sun Microsystem chịu tráchnhiệm phát triển các máy ảo Java chạy trên các hệ điều hành trên các kiến trúc CPUkhác nhau.Thông dịch:Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch. Chương trình nguồn viếtbằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin cóđuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy.Độc lập nền:Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính có hệ điềuhành khác nhau (Windows, Unix, Linux, …) miễn sao ở đó có cài đặt máy ảo java(Java Virtual Machine). Viết một lần chạy mọi nơi (write once run anywhere).Hướng đối tượng:Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữ lập trìnhhướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong Java đều liên quanđến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chươngtrình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đốitượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ màthay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Vấn đề nàysẽ được bàn chi tiết trong phần sau.Trang | 18SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  19. 19. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerĐa nhiệm – đa luồng (MultiTasking – Multithreading):Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thểchạy song song cùng một thời điểm và tương tác với nhau.Khả chuyển (portable):Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy ảo Javalà có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java. “Viếtmột lần, chạy mọi nơi” (Write Once, Run Anywhere).Hỗ trợ mạnh cho việc phát triển ứng dụng:Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấpnhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loạihình ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Edition) hỗ trợ pháttriển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 EnterpriseEdition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Edition)hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, …Trang | 19GVHD: Phạm Minh Tuấn
  20. 20. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớChương 1. THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH2.1. Phân tích yêu cầuTrang | 20SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  21. 21. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerĐề tài xây dựng chương trình “Điều Khiển Từ Xa”:Chương trình có 3 bước thực hiện để truy cập tới máy Client:Xây dựng chương trình Điều Khiển Từ XaChương trình Client : cho phép server truy cập tới và thực hiên các chức năng điềukhiển.Chương trình Server:- Gởi thông điệp đến mấy client.- Truyền và nhận file với máy client.- Chụp màn hình với máy client.- Theo dõi màn hình với máy client.Client hiển thị giao diện dễ sử dụng cho người sử dụng. Client kết nối với Server thôngqua giao thức TCP/IP và UDP để truyền file qua cho nhau .Server mở cổng kết nối với các Client, nhận yêu cầu từ phía Client, thực hiện việcRemote tới Client , lấy thông tin cần thiết và gửi trả cho Server.2.2. Phân tích các chức năngChương trình được viết theo mô hình Client-Server.Ở Client và Server sẽ thực hiện cácchức năng khác nhau để cùng tạo nên một chương trình hoàn chỉnh.Client có chức năng: cho phép kết nối tới Server.Server có chức năng:- Gởi thông điệp đến mấy client.- Truyền và nhận file với máy client.- Chụp màn hình với máy client.Trang | 21GVHD: Phạm Minh Tuấn
  22. 22. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớ- Theo dõi màn hình với máy client.Mô hình tổng quát của chương trình được mô tả theo sơ đồ sau:Hình 11: mô hình tổng quát chương trìnhMô tả cách thức hoạt động:1: Client gửi yêu cầu tới Server.2: Server tiếp nhận yêu cầu kết nối từ Client, tất cả các dữ liệu giữa client và server sẽđược kết nối thông với nhau.3: Trao đổi dữ liệu giữa client tới server, từ đây server và client gởi dữ liệu xuyên suốtvới nhau.3.1. Xây dựng các chức năngClient: chương trình tại Client được xây dựng thành 3 lớpMô tả chương trình Client:1: Client gửi yêu cầu tới Server.2: Client nhận kết nối từ Server và lấy được màn hình từ Client.Trang | 22SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  23. 23. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-Server3: Client gửi dữ liệu xuyên suốt cho Server.Server: chương trình Server được xây dựng dựa trên 2 lớp:Mô tả chương trình Server:1: Tiếp nhận yêu cầu kết nối từ Client.2: Tạo Thread cho mỗi Client kết nối.3: Thread kết nối để lấy dữ liệu theo yêu cầu Client.4: ThreadClient nhận dữ liệu từ ThreadServer.5: Gửi trả về cho Client.6: Tiếp nhận dữ liệu từ Client.Lớp chính: chịu trách nhiệm mở và chấp nhận kết nối từ phía Client, sau đó sẽ gọi tớilớp Thread , mỗi Thread chịu trách nhiệm trao đổi với 1 Client, với port kể từ khiđược tạo ra tới khi Client đóng kết nối. Lớp chính chứa các phương thức tách dữliệu được lấy từ Client về.Lớp Thread: sẽ chịu trách nhiệm làm việc với Client kể từ sau khi Server đã chấp nhậnkết nối. Lớp này gọi các phương thức trong lớp chính để giao tiếp với Client.Trang | 23GVHD: Phạm Minh Tuấn
  24. 24. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớChương 2 KẾT LUẬN VÀ HUỚNG PHÁT TRIỂN3.1. Kết quả chạy chương trìnhHình 12: Khởi động ServerTrang | 24SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  25. 25. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-ServerHình 13: Khởi động Client3.2. Đánh giá và nhận xét:Trong khuôn khổ đề tài chúng em đã cơ bản làm rõ một số vấn đề cơ bản liên quan đếnmôn học Lập Trình Mạng, và đã xây dựng thành công một chương trình demo nhằmlàm rõ các vấn đề lí thuyết. Đồ án đã đạt được một số kết quả như sau :Tìm hiểu được cách xây dựng một chương trình với giao thức TCP/IP theo mô hìnhclient – server.Tìm hiểu được các khái niệm cơ bản về lập trình mạng, phân tầng mạng, cách lấy dữliệu từ máy client….Ứng dụng Socket và đa luồng trong ngôn ngữ Java để xây dựng một chương trình theomô hình client – server.Tuy nhiên về mặt ứng dụng đồ án vẫn còn rất nhiều điểm hạn chế như chương trìnhvẫn chưa thực sự hoàn thiện để có thể trở thành sản phẩm thương mại. Bên cạnh đóviệc quản lí nhóm, quản lí mã nguồn vẫn còn diễn ra rất thủ công chưa thực sự ápdụng đúng quy trình của công nghệ phần mềm. Tuy vậy chúng em xin kết thúc đồán lập trình mạng với đề tài “xây dựng chương trình Điều Khiển Từ Xa theo môhình client – server” tại đây. Chúng em cũng xin được cảm ơn sự hướng dẫn vàgiúp đỡ tận tình của thầy “Phạm Minh Tuấn” trong suốt quá trình thực hiện đề tài.3.2. Hướng phát triểnVề cơ bản, nghiên cứu đã đạt được những yêu cầu đã đặt ra. Tuy nhên nếu có điềukiện, đồ án sẽ cố gắng phát triển thêm các chức năng sau:Trang | 25GVHD: Phạm Minh Tuấn
  26. 26. Xây d ng ch ng trình “Đi u khi n t xa” v i mô hình Client-Serverự ươ ề ể ừ ớTruyền âm thanh giữa Client-ServerTÀI LIỆU THAM KHẢOTrang | 26SVTH: Nguyễn Thị Mỹ Linh –Hồ Thị Ngọc Ánh
  27. 27. Xây dựng chương trình “Điều khiển từ xa” theo mô hình Client-Server[1] TS.Huỳnh Công Pháp, Giáo trình lập trình mạng(2004-2006), Đại Học Đà Nẵng[2] http://diendan.congdongcviet.com/showthread.php?t=161040Trang | 27GVHD: Phạm Minh Tuấn

×