Bài giảng công nghệ lập trình tích hợp chương 5 ts nguyễn quang uy

48 0 0
Bài giảng công nghệ lập trình tích hợp chương 5   ts  nguyễn quang uy

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương Lập trình mạng Java Mục lục chương • Lớp InetAddress • Lập trình Client – Server hướng kết nối • Lập trình Client – Server khơng hướng kết nối • Lập trình mạng với giao diện đồ họa • Làm việc với Internet Lớp InetAdress • Lớp InetAddress cung cấp phương tiện để truy cập địa Internet tên máy địa IP • Phương thức getByName() lớp sử dụng hệ thống tên miền (DNS) để trả lại địa Internet tên máy Lớp InetAdress • Để hiển thị địa IP máy ta gọi đến phương thức println() • Phương thức println() gọi đến phương thức toString() lớp • Bởi vỉ phương thức getByName() tạo ngoại lệ khơng tìm thấy tên máy Do ta cần Throw ngoại lệ xử lý mệnh đề catch Ví dụ nhận địa IP máy • • • • • • • • • • • • • • • • • import java.net.*; import java.util.*; public class IPFinder { public static void main(String[] args) { String host; Scanner input = new Scanner(System.in); System.out.print("\n\nEnter host name: "); host = input.next(); try { InetAddress address = InetAddress.getByName(host); System.out.println("IP address: "+ address.toString()); } catch (UnknownHostException uhEx){ System.out.println("Could not find " + host); } } } Ví dụ nhận địa IP máy cục • • • • • • • • • • • • • • • • import java.net.*; public class MyLocalIPAddress { public static void main(String[] args) { try { InetAddress address = InetAddress.getLocalHost(); System.out.println(address); } catch (UnknownHostException uhEx) { System.out.println("Could not find local address!"); } } } Khái niệm Socket Port • Socket khái niệm trừu tượng thành phần phần cứng máy tính • Socket điểm đầu cuối liên kết hai tiến trình • Một socket xác định địa IP số hiệu cổng (Port) • Khái niệm Socket Port • Địa IP dùng để xác định máy mà socket ta làm việc • Số hiệu cổng (port) dùng để xác định tiến trình cụ thể máy có chứa địa IP Xây dựng ứng dụng Client-Server hướng kết nối • Khái niệm: ứng dụng Client-Server gồm phía – Phía Client gửi yêu cầu đến Server – Phía Server đáp ứng u cầu Client • Một ứng dụng Client-Server hướng kết nối bao gồm bước – Thiết lập kết nối – Truyền liệu – Hủy bỏ kết nối Xây dựng ứng dụng phía Server • Để thực việc xây dựng ứng dụng phía Server ta cần thực bước sau: • Tạo ServerSocket: Để tạo ServerSocket ta thực câu lệnh sau: – ServerSocket servSock = new ServerSocket(1234); – Sau thực câu lệnh này, server trạng thái đợi kết nối đến từ Client 10 Phía Client • Tạo đối tượng DatagramSocket – Tương tự phía Server – Sự khác biệt hàm tạo không cần tham số – DatagramSocket datagramSocket = new DatagramSocket(); – 34 Phía Client • Tạo datagramPacket để truyền – Tương tự bước phía server – DatagramPacket outPacket = new DatagramPacket(message.getBytes(), message.length(), host, PORT); 35 Phía Client • Truyền thơng điệp datagram – Gọi phương thức send lớp DatagramSocket – Truyền tham số đối tượng lớp DatagramPacket – datagramSocket.send(outPacket); 36 Phía Client • Tạo vùng đệm để nhận liệu – byte[] buffer = new byte[256]; 37 Phía Client • Tạo đối tượng DatagramPacket cho liệu đến – DatagramPacket inPacket = – new DatagramPacket(buffer, buffer.length); 38 Phía Client • Chấp nhận datagram – datagramSocket.receive(inPacket); • Truy cập liệu từ vùng đệm – String response = – new String(inPacket.getData(),0, – inPacket.getLength()); 39 Phía Client • Đóng kết nối – datagramSocket.close(); 40 Ví dụ xây dựng ứng dụng khơng hướng kết nối • Mục đích xây dựng ứng dụng hướng kết nối • Một số điểm khác là: – IOException hàm main thay SocketException – Khơng có mệnh đề try khối finally 41 Lập Trình Mạng với Giao diện đồ họa • Xây dựng ứng dụng sử dụng giao thức Daytime để thị ngày hệ thống máy chủ – Giao thức Daytime thường cài đặt cổng số hiệu 13 – Chương trình cung cấp text field cho người sử dụng nhập tên máy chủ – Sau thời gian máy chủ gửi đến hiển thị Client 42 Lập Trình Mạng với Giao diện đồ họa • Một điểm ý khó để tìm máy chủ có chạy giao thức daytime • Trong trường hợp ứng dụng kết nối đến máy chủ phát sinh ngoại lệ 43 Lập Trình Mạng với Giao diện đồ họa • Để minh hoa cho việc sử dụng giao thức daytime ta tự xây dựng ứng dụng máy chủ cung cấp giao thức daytime 44 Ứng dụng quét cổng • Ứng dụng giao diện đồ họa ta xây dựn ứng dụng qt cổng • Chương trình kiểm tra danh sách cơng máy tính cụ thể liệt kê cơng có cung cấp dịch vụ (các cổng mở) 45 Ứng dụng quét cổng • Nguyên tắc chung: – Chúng ta tạo socket số cổng cụ thể – Nếu tạo thành cơng cổng mở, khơng cổng đóng ngoại lệ phát sinh 46 Tải Website • Một đặc điểm hữu ích Java khả tải thị website • Lớp sử dụng để chứa hiển thị website JEditorPane • Lớp tự động định dạng hiển thị website download 47 Tải Website • Để tải trang web ta sử dụng phương thức setPage lớp JEditorPane • Nếu trang web down có chứa hyperlinks người sử dụng kích vào hyperlink kiện HyperlinkEvent tạo • Sự kiện phải xử lý lớp cài đặt giao tiếp HyperlinkListener 48

Ngày đăng: 29/08/2023, 13:04