Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
1,46 MB
Nội dung
Lậptrình ứng dụng MiniChatbằng Java dùng cơ chế xử lý Multithread TS. Nguyễn Văn Hiệp, Nguyễn Quang Hùng E-mail: hungnq2@dit.hcmut.edu.vn Website: www.dit.hcmut.edu.vn/~hungnq/courses.htm Faculty of Information Technology, HCM University of Technology Mục tiêu 1. Sử dụng cơ chế Java multithread. 2. Bài tập ứng dụng MiniChat cho phép làm quen với qui trình xây dựng 1 chương trình theo giao diện “Dialog based” bằng JBuilder. Faculty of Information Technology, HCM University of Technology Mục lục 1. Giới thiệu c.trình MiniChat 2. Kỹ thuật lậptrình Java Multi-thread 3. Xây dựng ứng dụng MinichatbằngJBuilder a) Thiết kế giao diện cho MiniChat Client/Server b) Thiết kế MiniChat server đáp ứng các kết nối đồng thời từ các client bằng cơ chế multithread Faculty of Information Technology, HCM University of Technology Giới thiệu về ctrình. MiniChat Chức năng: cho phép nhiều user đăng ký vào các nhóm để trò chuyện với nhau. Mô hình lựa chọn: client/server Server: quản lý các nhóm và các user của từng nhóm, phân phối chuỗi thông tin từ một user đến các user khác. Client: giao tiếp với các user; cho phép họ đăng ký nhóm; gởi/nhận thông tin cho nhau. Định nghĩa giao thức dùng cho hệ thống MiniChat: Lệnh GLIST <CRLF> Lệnh ULIST <CRLF> Lệnh LOGIN <tên group>,<tên user> <CRLF> Lệnh SEND <string> <CRLF> Lệnh LOGOU <CRLF> Dạng reply cho tất cả các request: N <chuỗi dữ liệu phụ kèm theo> N = 1: Thành công, N = 0: Thất bại Faculty of Information Technology, HCM University of Technology Giao diện của ch.trình MiniChat client Cửa sổ nhập thông tin của button “Connect” Cửa sổ nhập thông tin của button “login” Faculty of Information Technology, HCM University of Technology Giao diện của MS. Visual C++ IDE Chạy Microsoft Visual C++từ Start Programs Microsoft Visual C++ Kỹ thuật lậptrình Java Multithread Tài liệu tham khảo: java.sun.com Faculty of Information Technology, HCM University of Technology Kỹ thuật Java Multithread Thread là một luồng thực thi trong một chương trình. Máy ảo JVM cho phép một ứng dụng có nhiều luồng thực thi đồng thời. Có 2 cách dùng Java multithread (đa luồng): Khai báo một lớp kế thừa từ lớp Thread và override method Thread.run(). Khai báo một lớp hiện thực interface Runnable và method Runnable.run() Faculty of Information Technology, HCM University of Technology Cách 1: Kế thừa từ lớp Thread 1. class PrimeThread extends Thread { 2. long minPrime; 3. PrimeThread( long minPrime ) { 4. this.minPrime = minPrime; 5. } 6. public void run( ) { 7. // compute primes larger than minPrime 8. . . . 9. } 10. } 11. PrimeThread p = new PrimeThread(143); 12. p.start(); Faculty of Information Technology, HCM University of Technology Cách 2: Hiện thực giao diện Runnable 1. class PrimeRun implements Runnable { 2. long minPrime; 3. PrimeRun ( long minPrime ) { 4. this.minPrime = minPrime; 5. } 6. public void run() { 7. // compute primes larger than minPrime 8. . . . 9. } 10. } 11. PrimeRun p = new PrimeRun(143); 12. new Thread(p).start(); [...]... University of Technology Xây dựng ứng dụng MiniChatbằngJBuilder Xây dựng ứng dụng MiniChatbằngJBuilder Faculty of Information Technology, HCM University of Technology Đóng các projects đang mở Chọn menu File.Close projects Chọn button “All” để đóng tất cả projects đang mở Faculty of Information Technology, HCM University of Technology Tạo project mới tên MiniChatClient Chọn File.New projects Faculty... Technology Tạo hàm nắm bắt các sự kiện (tiếp) - Viết code cho hàm nắm bắt sự kiện ấn nút Connect -Lặp lại quá trình này cho các nút khác như Groups, Login, Users, Send, Logout Faculty of Information Technology, HCM University of Technology Mô hình multi-thread ở client Faculty of Information Technology, HCM University of Technology Mô hình lập trình multi-thread ở server Faculty of Information Technology,... quản lý cấu hình run time (nên để mặc định) Rồi ấn nút FINISH để tạo ứng dụng MiniChatClient Faculty of Information Technology, HCM University of Technology Tạo ứng dụng c .trình MiniChatClient Faculty of Information Technology, HCM University of Technology Thiết kế giao diện Chọn tab Design để chuyển sang mode thiết kế giao diện bằng các control JComponents như JButton, JList, JPanel… Faculty of Information... hiển thị danh sách nhóm, thiết lập field name = jspGroups Faculty of Information Technology, HCM University of Technology Thiết kế giao diện -Lặp lại bước vừa rồi để tạo các danh sách jlbUsers, jlbContent Vẽ một JTextField, và thiết lập field name = jtfMessage - Có thể canh trái, trên, phải… các thành phần Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – Hoàn tất... đường dẫn lưu các lớp, c .trình nguồn, thư mục Working (nên để mặc định) Faculty of Information Technology, HCM University of Technology Project Wizard – Step 2 of 3 Thêm các thư viện dùng kèm theo (nếu có) ở tab Required Libraries Rồi chọn NEXT Faculty of Information Technology, HCM University of Technology Project Wizard – Step 3 of 3 Xác định mã hóa (UTF-8), thêm các thông tin khác về tên dự án, mô... University of Technology Thiết kế giao diện – tạo các nút -Lập lại các bước trước để kéo thêm các nút: Groups, Login, Users, Send, Logout Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – tạo danh sách nhóm Chọn tab “Swing Containers”, chọn icon “JScrollPane” rồi vẽ crollpane chứa listbox hiển thị danh sách nhóm, thiết lập field name = jspGroups Faculty of Information Technology,... Wizard – Step 3 of 3 Xác định mã hóa (UTF-8), thêm các thông tin khác về tên dự án, mô tả… và chọn FINISH Faculty of Information Technology, HCM University of Technology Tạo 1 ứng dụng trong project MiniChatClient Chọn menu File.New để mở Object Gallery Chọn icon Application để tạo một ứng dụng mới trong project MiniChatClient Faculty of Information Technology, HCM University of Technology Application... đổi thuộc tính Layout thành “XYLayout” để có thể thiết kế GUI dạng tự do dựa trên tọa độ trục X và Y Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – kéo các thành phần Chọn mục tab “SWING”, chọn icon “JButton” rồi vẽ nó ở góc trái trên form, chọn button vừa vẽ quan sát và gán giá trị cho thuộc tính “name=btnConnect”, “margin=1,1,1,1”, thuộc tính “text = Connect” Faculty...Thread – Các constructor của lớp Thread Thread( ) - Allocates a new Thread object Thread ( Runnable target) Thread (Runnable target, String name) Thread (String name) Thread (ThreadGroup group, Runnable target) Thread (ThreadGroup group, Runnable target, . Giới thiệu c.trình MiniChat 2. Kỹ thuật lập trình Java Multi-thread 3. Xây dựng ứng dụng Minichat bằng JBuilder a) Thiết kế giao diện cho MiniChat Client/Server b) Thiết kế MiniChat server đáp. Visual C++ Kỹ thuật lập trình Java Multithread Tài liệu tham khảo: java.sun.com Faculty of Information Technology, HCM University of Technology Kỹ thuật Java Multithread Thread là một luồng. Technology Mục tiêu 1. Sử dụng cơ chế Java multithread. 2. Bài tập ứng dụng MiniChat cho phép làm quen với qui trình xây dựng 1 chương trình theo giao diện “Dialog based” bằng JBuilder. Faculty of Information