Bài giảng Lập trình ứng dụng mạng: Bài 2 - GV. Võ Tấn Dũng
Số trang: 66
Loại file: pdf
Dung lượng: 491.15 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 7 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Lập trình ứng dụng mạng: Bài 2 Lập trình Socket nhằm trình bày về khái niệm Socket, lớp InetAddress, việc kết nối thông qua Socket cần hai thông tin chủ yếu đó là địa chỉ của máy cần kết nối và số hiệu cổng của chương trình dịch vụ.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình ứng dụng mạng: Bài 2 - GV. Võ Tấn DũngTRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCMLẬP TRÌNH ỨNG DỤNG MẠNGBÀI 2LẬP TRÌNH SOCKETLẬP GV: Võ Tấn Dũng GIẢNG VIÊN: VÕ TẤN DŨNGKHÁI NIỆM SOCKET Socket là một phương pháp để thiết lập kết nối truyền thông giữa một chương trình yêu cầu dịch vụ (client) và một chương trình cung cấp dịch vụ (server) trên mạng LAN, WAN hay Internet. Trước khi yêu cầu dịch vụ từ máy chủ thì máy khách phải kết nối đến máy chủ. Quá trình kết nối này được Java thực hiện thông quá một cơ chế trừu tượng hóa gọi là Socket. Việc kết nối thông qua Socket cần hai thông tin chủ yếu đó là địa chỉ của máy cần kết nối và số hiệu cổng của chương trình dịch vụ. GV: Võ Tấn Dũng 2 PHẦN 1Lớp InetAddressLớp InetAddress & llớp URL & ớp URL GV: Võ Tấn DũngLớp InetAddress Lớp InetAddress được sử dụng để biểu diễn các địa chỉ IP trong một ứng dụng mạng. Lớp này được sử dụng bởi hầu hết các lớp mạng, bao gồm Socket, ServerSocket, URL, DatagramSocket, DatagramPacket,… Nó bao gồm hai trường thông tin: hostName (một đối tượng kiểu String) và address (một số kiểu int). Các trường này không phải là trường public, vì thế ta không thể truy xất chúng trực tiếp. GV: Võ Tấn Dũng 4Lớp InetAddress Lớp InetAddress không có các constructor cho lớp InetAddress. Tuy nhiên, có ba phương thức tĩnh trả về các đối tượng InetAddress: – public static InetAddress InetAddress.getByName(String hostname) – public static InetAddress[] InetAddress.getAllByName(String hostname) – public static InetAddress InetAddress.getLocalHost() Tất cả các phương thức này đều thực hiện kết nối tới server DNS cục bộ để biết được các thông tin trong đối tượng InetAddress. GV: Võ Tấn Dũng 5Lớp InetAddress Ví dụ: Phương thức getByName này nhận tên của hostname làm tham số và trả về đối tượng kiểu InetAddress try{ InetAddress dc =InetAddress.getByName(“www.microsoft.com”); System.out.println(dc); } catch(UnknownHostException e) { System.err.println(e); } GV: Võ Tấn Dũng 6Lớp InetAddress Ví dụ 1:Viết chương trình nhận hostname từ đối dòng lệnh và in ra địa chỉ IP tương ứng với hostname đó. import java.net.*; public class TimDCIP { public static void main(String[] args) {try{ if(args.length!=1) { System.out.println(Cach su dung: java TimDCIP );} InetAddress host = InetAddress.getByName(args[0]); String hostName = host.getHostName(); System.out.println(Host name:+hostName); System.out.println(Dia chi IP:+host.getHostAddress()); } catch(UnknownHostException e) { System.out.println(Khong tim thay dia chi); return; } } GV: Võ Tấn Dũng } 7Lớp InetAddress Có thể đọc các trường của InetAddress bằng cách gọi phương thức getHostname và getAddress(): public String getHostName(): Phương thức này trả về một chuỗi biểu diễn hostname của một đối tượng InetAddress. Nếu máy không có hostname, thì nó sẽ trả về địa chỉ IP của máy này dưới dạng một xâu ký tự. public byte[ ] getAddress() : Nếu bạn muốn biết địa chỉ IP của một máy, phương thức getAddress() trả về một địa chỉ IP dưới dạng một mảng các byte. GV: Võ Tấn Dũng 8Lớp InetAddress Ví dụ: Viết chương trình nhập một hostName từ đối dòng lệnh và in ra dòng thông báo cho biết địa chỉ IP tương ứng với địa chỉ IP đó thuộc lớp nào. import java.net.*; public class PhanLoaiDCIP { public static void main(String[] args) {try{ if(args.length!=1) {System.out.println(Cach su dung: java TimDCIP );} InetAddress host = InetAddress.getByName(args[0]); String hostName = host.getHostName(); System.out.println(Host name:+hostName); System.out.println(Dia chi IP:+host.getHostAddress()); byte[] b=host.getAddress(); int i=b[0]>= ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình ứng dụng mạng: Bài 2 - GV. Võ Tấn DũngTRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCMLẬP TRÌNH ỨNG DỤNG MẠNGBÀI 2LẬP TRÌNH SOCKETLẬP GV: Võ Tấn Dũng GIẢNG VIÊN: VÕ TẤN DŨNGKHÁI NIỆM SOCKET Socket là một phương pháp để thiết lập kết nối truyền thông giữa một chương trình yêu cầu dịch vụ (client) và một chương trình cung cấp dịch vụ (server) trên mạng LAN, WAN hay Internet. Trước khi yêu cầu dịch vụ từ máy chủ thì máy khách phải kết nối đến máy chủ. Quá trình kết nối này được Java thực hiện thông quá một cơ chế trừu tượng hóa gọi là Socket. Việc kết nối thông qua Socket cần hai thông tin chủ yếu đó là địa chỉ của máy cần kết nối và số hiệu cổng của chương trình dịch vụ. GV: Võ Tấn Dũng 2 PHẦN 1Lớp InetAddressLớp InetAddress & llớp URL & ớp URL GV: Võ Tấn DũngLớp InetAddress Lớp InetAddress được sử dụng để biểu diễn các địa chỉ IP trong một ứng dụng mạng. Lớp này được sử dụng bởi hầu hết các lớp mạng, bao gồm Socket, ServerSocket, URL, DatagramSocket, DatagramPacket,… Nó bao gồm hai trường thông tin: hostName (một đối tượng kiểu String) và address (một số kiểu int). Các trường này không phải là trường public, vì thế ta không thể truy xất chúng trực tiếp. GV: Võ Tấn Dũng 4Lớp InetAddress Lớp InetAddress không có các constructor cho lớp InetAddress. Tuy nhiên, có ba phương thức tĩnh trả về các đối tượng InetAddress: – public static InetAddress InetAddress.getByName(String hostname) – public static InetAddress[] InetAddress.getAllByName(String hostname) – public static InetAddress InetAddress.getLocalHost() Tất cả các phương thức này đều thực hiện kết nối tới server DNS cục bộ để biết được các thông tin trong đối tượng InetAddress. GV: Võ Tấn Dũng 5Lớp InetAddress Ví dụ: Phương thức getByName này nhận tên của hostname làm tham số và trả về đối tượng kiểu InetAddress try{ InetAddress dc =InetAddress.getByName(“www.microsoft.com”); System.out.println(dc); } catch(UnknownHostException e) { System.err.println(e); } GV: Võ Tấn Dũng 6Lớp InetAddress Ví dụ 1:Viết chương trình nhận hostname từ đối dòng lệnh và in ra địa chỉ IP tương ứng với hostname đó. import java.net.*; public class TimDCIP { public static void main(String[] args) {try{ if(args.length!=1) { System.out.println(Cach su dung: java TimDCIP );} InetAddress host = InetAddress.getByName(args[0]); String hostName = host.getHostName(); System.out.println(Host name:+hostName); System.out.println(Dia chi IP:+host.getHostAddress()); } catch(UnknownHostException e) { System.out.println(Khong tim thay dia chi); return; } } GV: Võ Tấn Dũng } 7Lớp InetAddress Có thể đọc các trường của InetAddress bằng cách gọi phương thức getHostname và getAddress(): public String getHostName(): Phương thức này trả về một chuỗi biểu diễn hostname của một đối tượng InetAddress. Nếu máy không có hostname, thì nó sẽ trả về địa chỉ IP của máy này dưới dạng một xâu ký tự. public byte[ ] getAddress() : Nếu bạn muốn biết địa chỉ IP của một máy, phương thức getAddress() trả về một địa chỉ IP dưới dạng một mảng các byte. GV: Võ Tấn Dũng 8Lớp InetAddress Ví dụ: Viết chương trình nhập một hostName từ đối dòng lệnh và in ra dòng thông báo cho biết địa chỉ IP tương ứng với địa chỉ IP đó thuộc lớp nào. import java.net.*; public class PhanLoaiDCIP { public static void main(String[] args) {try{ if(args.length!=1) {System.out.println(Cach su dung: java TimDCIP );} InetAddress host = InetAddress.getByName(args[0]); String hostName = host.getHostName(); System.out.println(Host name:+hostName); System.out.println(Dia chi IP:+host.getHostAddress()); byte[] b=host.getAddress(); int i=b[0]>= ...
Tìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Lập trình Socket Lớp InetAddress Lập trình mạng Lập trình ứng dụng mạng Công nghệ mạngGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 256 0 0 -
101 trang 198 1 0
-
Đề cương chi tiết học phần: Mạng máy tính và lập trình mạng
4 trang 140 0 0 -
Tóm tắt Đồ án tốt nghiệp Công nghệ thông tin: Lập trình socket và ứng dụng trong game cờ caro
29 trang 130 0 0 -
Báo cáo bài tập lớn môn Mạng máy tính và Lập trình mạng: Tìm hiểu về Soap
32 trang 129 0 0 -
14 trang 128 0 0
-
349 trang 122 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 110 0 0 -
Bài giảng Lập trình mạng - Chương 1: Giới thiệu Lập trình mạng
18 trang 104 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 94 0 0