intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình mạng bằng ngôn ngữ java: Chương 5 - Dương Khai Phong

Chia sẻ: Fczxxv Fczxxv | Ngày: | Loại File: PDF | Số trang:45

140
lượt xem
24
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 5 Lập trình mạng căn bản thuộc bài giảng lập trình mạng bằng ngôn ngữ java nhằm trình bày về các nội dung chính: giới thiệu lập trình mạng, các lớp hỗ trợ lập trình mạng Socket, TCP Socket Programming, UDP Socket Programming Remote Method Invocation (RMI).

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình mạng bằng ngôn ngữ java: Chương 5 - Dương Khai Phong

  1. www.sites.google.com/site/khaiphong Giáo viên: Dương Khai Phong Email: khaiphong@gmail.com Lý thuyết: 45 tiết Thực hành: 30 tiết ĐH Công nghệ Thông tin
  2. www.sites.google.com/site/khaiphong Nội dung môn học 1 Tổng quan lập trình java 2 Lập trình hướng đối tượng 3 Lập trình giao diện đồ họa 4 Lập trình mạng cơ bản 5 Ôn tập ĐH Công nghệ Thông tin
  3. www.sites.google.com/site/khaiphong LẬP TRÌNH MẠNG CĂN BẢN A Giới thiệu lập trình mạng B Các lớp hỗ trợ lập trình mạng Socket C TCP Socket Programming D UDP Socket Programming E Remote Method Invocation (RMI) ĐH Công nghệ Thông tin
  4. www.sites.google.com/site/khaiphong LẬP TRÌNH MẠNG CĂN BẢN A Giới thiệu lập trình mạng:  Các khái niệm liên quan đến lập trình mạng:  Mạng máy tính  Ports  Sockets và Ports  Mô hình Client – Server  Socket Programming ĐH Công nghệ Thông tin
  5. www.sites.google.com/site/khaiphong LẬP TRÌNH MẠNG CĂN BẢN A Giới thiệu lập trình mạng:  Các khái niệm liên quan đến lập trình mạng:  Mạng máy tính  Ports  Sockets và Ports  Mô hình Client – Server  Socket Programming ĐH Công nghệ Thông tin
  6. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Mạng máy tính:  Mạng máy tính là tập hợp các máy tính hoặc các thiết bị được nối với nhau bởi các đường truyền vật lý và theo một kiến trúc nào đó.  Tầng ứng dụng  Standard apps • HTTP • FTP • Telnet  User apps  Tầng vận chuyển  TCP  UDP  Programming Interface: • Sockets  Tầng mạng  IP  Tầng kết nối  Device drivers ĐH Công nghệ Thông tin
  7. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Mạng máy tính: Application  TCP (Tranmission Control (http,ftp,telnet,…) Protocol) là giao thức vận chuyển dựa trên kết nối logic Transport trực tiếp giữa 2 máy tính. (TCP, UDP,..)  Ví dụ: Network  HTTP (IP,..)  FTP  Telnet Link (device driver,..) ĐH Công nghệ Thông tin
  8. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Mạng máy tính: Application  UDP (User Datagram (http,ftp,telnet,…) Protocol) là giao thức vận chuyển phi kết nối thực hiện Transport gửi các packets gọi là (TCP, UDP,..) datagrams từ máy này sang máy khác. Network (IP,..)  Ví dụ:  Clock server Link  Ping (device driver,..) ĐH Công nghệ Thông tin
  9. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Ports:  TCP và UDP sử dụng port để xác định chương trình sẽ  Ports nhận dữ liệu khi đến 1 máy tính. P o TCP server r Client t app app app app port port port port TCP or UDP Packet Data port# data ĐH Công nghệ Thông tin
  10. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Ports:  Port là 1 con số nguyên  Ports  Một số port đã được dành riêng cho các dịch vụ mạng phổ biến:  ftp 21/tcp  telnet 23/tcp  smtp 25/tcp  login 513/tcp  Nên dùng giá trị lớn hơn 1024 ĐH Công nghệ Thông tin
  11. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Ports  Sockets và Ports any port agreed port socket socket message client server other ports Internet address = 138.37.94.248 Internet address = 138.37.88.249 ĐH Công nghệ Thông tin
  12. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Ports  Sockets và Ports  Mô hinh Client và Server Server machine Client Server Network Client machine a client, a server, and network ĐH Công nghệ Thông tin
  13. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA A Giới thiệu lập trình mạng:  Mạng máy tính  Socket :  Điểm giao tiếp giữa máy tính và mạng  Ports  Được dùng để gửi và nhận dữ liệu  Sockets và Ports  Được hỗ trợ bỡi nhiều hệ thống và ngôn  Mô hinh Client và Server ngữ lập trình  Socket Programming  Phân loại: Server (passive) socket, client (active) socket và UDP socket sockets (end points) logical connection ĐH Công nghệ Thông tin
  14. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA B Các lớp hỗ trợ lập trình mạng Socket:  Gói java.net chứa tất cả các lớp cần thiết cho việc lập trình mạng (Java Sockets Programming)  Cú pháp khai báo: import java.net.*;  Các lớp cơ bản trong gói java.net:  InetAddress  Socket  ServerSocket  DatagramSocket  DatagramPacket ĐH Công nghệ Thông tin
  15. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA B Các lớp hỗ trợ lập trình mạng Socket:  Lớp InetAddress:  Công dụng:  Biểu diễn một địa chỉ Internet, các địa chỉ IP trong một ứng dụng mạng sử dụng Java.  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,…  Cú pháp sử dụng:  Sử dụng phương thức static để tạo ra đối tượng InetAddress.  getByName(String host)  getAllByName(String host)  getLocalHost() Ví dụ: InetAddress x = InetAddress.getByName("www.uit.edu.vn");  Ném ra biệt lệ UnknownHostException ĐH Công nghệ Thông tin
  16. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA B Các lớp hỗ trợ lập trình mạng Socket:  Ví dụ: viết chương trình truy xuất địa chỉ IP import java.net.InetAddress; import java.net.UnknownHostException; public class net_lookup { public static void main(String[] args) { String hostname=args[0]; try { InetAddress a = InetAddress.getByName(hostname); System.out.println(hostname + ":" + a.getHostAddress()); } catch (UnknownHostException e) { System.out.println("No address found for " + hostname); } } } ĐH Công nghệ Thông tin
  17. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA C TCP Socket Programming:  Các đối tượng cơ bản trong lập trình mạng TCP Socket  Server sockets • Chờ kết nối từ mạng • Tạo ra từ lớp java.net.ServerSocket  Client sockets • Dùng để gửi và nhận dữ liệu • Tạo ra từ lớp java.net.Socket server socket connection request client socket ĐH Công nghệ Thông tin
  18. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA C TCP Socket Programming:  Tạo và sử dụng Server Socket Type Description  Constructors ServerSocket(int port) khởi tạo đối tượng  Methods accept() chờ yêu cầu kết nối và tạo socket close() dừng việc chờ yêu cầu kết nối server socket connection request client socket ĐH Công nghệ Thông tin
  19. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA B Các lớp hỗ trợ lập trình mạng Socket:  Ví dụ: tạo ServerSocket try { ServerSocket server = new ServerSocket(8888); while (true) { Socket incoming = server.accept(); // obtain a client socket // handle client request by reading from and writing to the socket … } } catch (IOException e) { // handle exception on creating a server socket } ĐH Công nghệ Thông tin
  20. www.sites.google.com/site/khaiphong TỔNG QUAN LẬP TRÌNH JAVA C TCP Socket Programming:  Tạo và sử dụng Client Socket Type Description  Tạo client sockets Phía client:  Socket(String host, int port) khởi tạo đối tượng Phía server:  accept() của lớp ServerSocket  Methods getInputStream() trả về InputStream để nhận dữ liệu getOutputStream() trả về OutputStream để gửi dữ liệu close() đóng kết nối ĐH Công nghệ Thông tin
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2