Danh mục

Programming - Lập Trình Giao Thức, Đường WAN Phần 6

Số trang: 22      Loại file: pdf      Dung lượng: 646.07 KB      Lượt xem: 17      Lượt tải: 0    
Thu Hiền

Phí tải xuống: 19,000 VND Tải xuống file đầy đủ (22 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Những hiểu biết về lập trình đa tuyến đoạn có tầm quan trọng đối với các ứng dụng và các applet, đặc biệt là đối với môi trường mạng. Các mạng máy tính thường rất chậm và có độ tin cậy không cao, vì vậy chương trình mạng nên chạy trong một tuyến đoạn riêng biệt tách biệt với giao diện người dùng.
Nội dung trích xuất từ tài liệu:
Programming - Lập Trình Giao Thức, Đường WAN Phần 6 g.drawString(d.toString(),10,50); } } Clock Thực hiện chương trình appletviewer Clock.html Kết quả thực hiện Hình 4.511. Kết luận Những hiểu biết về lập trình đa tuyến đoạn có tầm quan trọng đối với các ứng dụng vàcác applet, đặc biệt là đối với môi trường mạng. Các mạng máy tính thường rất chậm và cóđộ tin cậy không cao, vì vậy chương trình mạng nên chạy trong một tuyến đoạn riêng biệttách biệt với giao diện người dùng. Hơn thế nữa, phần mềm mạng tương tác với nhiều clienthoặc server, ngoại trừ các thao tác đặc biệt nhanh (như nhận và gửi một gói tin). Chươngtrình cần có nhiều tuyến đoạn để các tương tác có thể xảy ra đồng thời. Trong các chươngsau chúng ta sẽ xem xét cách ứng dụng tuyến đoạn trong việc xây dựng các chương trìnhmạng có xử lý tương tranh. Sưu t m b i: www.daihoc.com.vnSưu t m b i: www.daihoc.com.vnChương 5 Lập trình mạng với các lớp InetAddress, URL và URLConnection1. Lớp InetAddress Các thiết bị được kết nối với mạng LAN có địa chỉ vật lý duy nhất. Điều này giúpcho các máy khác trên mạng trong việc truyền các gói tin đến đúng vị trí. Tuy nhiên, địachỉ này chỉ có ích trong mạng LAN. Một máy không thể xác định được vị trí trên Internetbằng cách sử dụng các địa chỉ vật lý, vì các địa chỉ vật lý không chỉ ra vị trí của máy. Hơnnữa, các máy thường di chuyển từ vị trí này sang vị trí khác, trong trường hợp của máyxách tay hoặc máy palm chẳng hạn. Những người lập trình mạng không cần phải quan tâm đến từng chi tiết dữ liệuđược định tuyến như thế nào trong một mạng LAN. Hơn nữa, Java không cung cấp khảnăng truy xuất tới các giao thức tầng liên kết dữ liệu mức thấp được sử dụng bởi LAN.Việc hỗ trợ như vậy là rất khó khăn. Vì mỗi kiểu giao thức sử dụng một kiểu địa chỉ khácnhau và có các đặc trưng khác nhau, chúng ta cần phải các chương trình khác nhau chomỗi kiểu giao thức mạng khác nhau. Thay vào đó, Java hỗ trợ giao thức TCP/IP, giaothức này có nhiệu vụ liên kết các mạng với nhau. Các thiết bị có một kết nối Internet trực tiếp được cung cấp một định danh duy nhấtđược gọi là địa chỉ IP. Các địa chỉ IP có thể là tĩnh hoặc động. Các địa chỉ IP được cấpphát động thường được sử dụng khi nhiều thiết bị cần truy cập Internet trong khoảng thờigian nhất định. Một địa chỉ IP chỉ có thể gắn với một máy, nó không thể dùng chung. Địachỉ này được sử dụng bởi giao thức IP để định tuyến các datagram tới đúng vị trí. Khôngcó địa chỉ, ta không thể liên lạc được với máy đó; vì thế tất cả các máy tính đều phải cómột địa chỉ IP duy nhất. Lớp java.net.InetAddress biểu diễn một địa chỉ Internet. Nó bao gồm hai trườngthông tin: hostName (một đối tượng kiểu String) và address (một số kiểu int). Các trườngnày không phải là trường public, vì thế ta không thể truy xất chúng trực tiếp. 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,…1.1. Tạo các đối tượng InetAddress Lớp InetAddress được sử dụng để biểu diễn các địa chỉ IP trong một ứng dụngmạng sử dụng Java. Không giống với các lớp khác, không có các constructor cho lớpInetAddress. Tuy nhiên, lớp InetAddress có ba phương thức tĩnh trả về các đối tượngInetAddress Các phương thức trong lớp 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 Ta xét phương thức đầu tiên. Phương thức này nhận tên của hostname làm thamsố và trả về đối tượng kiểu InetAddressVí dụ: try{ InetAddress dc =InetAddress.getByName(“www.microsoft.com”); System.out.println(dc); 102 Sưu t m b i: www.daihoc.com.vn } catch(UnknownHostException e) { System.err.println(e); } 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; } } }1.2. Nhận các trường thông tin của một đối tượng InetAddress Chỉ có các lớp trong gói java.net có quyền truy xuất tới các trường của lớpInetAddress. Các lớp trong gói này có thể đọc các trường của một đối tượng InetAddressbằ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 xâu 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ỉ I ...

Tài liệu được xem nhiều: