« Home « Kết quả tìm kiếm

Khoa Học và Kỹ Thuật Máy Tính Tröôø ng Ñaï i Hoï c Baù ch Khoa Tp.HCM LẬP TRÌNH MẠNG DÙNG SOCKET


Tóm tắt Xem thử

- Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG DÙNG SOCKET Bài Giảng 2 Khoa Học và Kỹ Thuật Máy Tính Trang 1 Trường Đại Học Bách Khoa Tp.HCM KHÁI NIỆM VỀ SOCKET Socket API – Ðược giới thiệu ở BSD4.1 UNIX, 1981 – Ðược ứng dụng khởi tạo, sử dụng và hủy bỏ.
- unreliable datagram • reliable, byte stream-oriented Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 2 Trường Đại Học Bách Khoa Tp.HCM KHÁI NIỆM VỀ SOCKET Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 3 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Thiết kế giải thuật cho client – Giải thuật cho chương trình client dùng UDP Xác định địa chỉ server.
- Gởi/nhận dữ liệu theo giao thức lớp ứng dụng đã thiết kế.
- Giải thuật cho chương trình client dùng TCP Xác định địa chỉ server Tạo socket.
- Kết nối đến server.
- Đĩng kết nối.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 4 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Thiết kế giải thuật cho Server – Chương trình server cĩ hai loại: Lặp(iterative) Đồng thời (concurrent.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 5 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 6 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 7 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 8 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 9 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 10 Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 11 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Gĩi java.net – InetAddress – ServerSocket – Socket – URL – URLConnection – DatagramSocket Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 12 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA InetAddress class – Class mơ tả về địa chỉ IP (Internet Protocol.
- Để lấy địa chỉ IP hay tên dùng các phương thức: getHostAddress() getHostName() Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 13 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA In địa chỉ IP của localhost import java.net.
- System.out.println(myHost.getHostAddress.
- System.out.println(myHost.getHostName.
- System.err.println("Cannot find local host.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 14 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA In địa chỉ IP của proxy.hcmut.edu.vn import java.net.
- System.out.println(addresses[i.
- System.out.println("Could not find proxy.hcmut.edu.vn.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 15 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Các chương trình đọc thêm – Tạo một địa chỉ IP từ mảng byte, chuỗi String.
- InetAddressFactory.java – Cho một địa chỉ tìm tên máy.
- ReverseTest.java Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 16 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 17 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Socket class – Class mơ tả về socket – Tạo một socket Socket(InetAddress address, int port) Socket(String host, int port) Socket(InetAddress address, int port, InetAddress, localAddr, int localPort) Socket(String host, int port, InetAddress, localAddr, int localPort) Socket() Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 18 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Socket class (tiếp theo.
- trả về địa chỉ mà socket kết nối đến.
- trả về địa chỉ cục bộ.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 19 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Kết nối đên 1 số webserver import java.net.
- import java.io.
- System.out.println("Connected to.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 20 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Kết nối đên 1 số webserver (tiếp theo.
- System.err.println("I can't find.
- System.err.println("Could not connect to.
- System.err.println(e.
- end getSocketInfo Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 21 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA ServerSocket class – Class mơ tả về ServerSocket – Tạo một ServerSocket ServerSocket(int port) throws IOException ServerSocket(int port, int backlog) throws IOException ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 22 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA ServerSocket class – Các phương thức trong ServerSocket Socket accept() throws IOException : Lắng nghe một kết nối đến socket này và chấp nhận nĩ.
- trả về địa chỉ cục bộ của socket int getLocalPort.
- void setSoTimeout(int timeout) throws SocketException Enable/disable SO_TIMEOUT với khai báo timeout (milliseconds) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 23 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA DateTime Server import java.net.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 24 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA DateTime Server (tiếp theo) while (true.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 25 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI UDP Cung cấp cơ chế truyền khơng tin cậy giữa các nhĩm các byte (datagrams) giữa client và server.
- Sender phải gởi kèm địa chỉ IP và port đích Server khi nhận dữ liệu sẽ phân tích địa chỉ của sender để truyền lại.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 26 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI UDP Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 27 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Client) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 28 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Client) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 29 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Server) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 30 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Server) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 31 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI TCP Server – Server process phải chạy trước.
- Thiết lập kết nối đến server.
- Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 32 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI TCP Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 33 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Client) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 34 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Client tiếp theo) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 35 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Server) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 36 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Server – tiếp theo) Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 37 Trường Đại Học Bách Khoa Tp.HCM BÀI TẬP Viết chương trình trên Java/C tương tự như nslookup.
- Cho 1 tên tìm ra địa chỉ IP.
- Cho 1 địa chỉ IP tìm ra tên.
- Giao diện tương tự như sau: Khoa Khoa Học và Kỹ Thuật Máy Tính Trang 38