Bài giảng Lập trình mạng: Chương 3 - Nguyễn Minh Thi

pdf
Số trang Bài giảng Lập trình mạng: Chương 3 - Nguyễn Minh Thi 38 Cỡ tệp Bài giảng Lập trình mạng: Chương 3 - Nguyễn Minh Thi 1 MB Lượt tải Bài giảng Lập trình mạng: Chương 3 - Nguyễn Minh Thi 3 Lượt đọc Bài giảng Lập trình mạng: Chương 3 - Nguyễn Minh Thi 15
Đánh giá Bài giảng Lập trình mạng: Chương 3 - Nguyễn Minh Thi
4.9 ( 11 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 38 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

1 CHƯƠNG 3 LẬP TRÌNH ỨNG DỤNG MẠNG DÙNG SOCKET 2 Tổng quan Viết chương trình application transport network data link physical • Chạy trên các hệ thống đầu cuối • Truyền thông qua mạng • Ví dụ web server giao tiếp với browser Viết chương trình trên các thiết bị mạng ngoài phạm vi này application transport network data link physical application transport network data link physical 3 Mục tiêu Biết cách xây dựng một ứng dụng client/server giao tiếp bằng socket Socket API • Được giới thiệu trong BSD4.1 UNIX, 1981 • Được khởi tạo, sử dụng và hủy một cách tường minh bởi ứng dụng • Mô hình client/server • Hai loại dịch vụ truyền tải qua socket API: • Datagram không bảo đảm • connection-oriented bảo đảm socket Một giao tiếp cục bộ trên host, được tạo bởi ứng dụng và được điều khiển bởi hệ điều hành, qua đó quá trình ứng dụng có thể truyền (hay nhận) đến (hay từ) quá trình khác Giao tiếp giữa các quá trình trên hai host khác nhau • process truyền/nhận thông điệp đến/từ socket của nó • socket tương tự như cửa ra vào • Quá trình truyền thông điệp ra cửa • Quá trình truyền dựa vào hạ tầng truyền tải trên phía kia của cánh cửa, thông tin được chuyển đến socket của quá trình thu host hay server host hay server process Được kiểm soát bởi người lập trình socket socket TCP với buffers, variables process Internet TCP với buffers, variables Được kiểm soát bởi hệ điều hành • API: (1) chọn giao thức truyền tải ; (2) khả năng sửa một vài thông số 4 5 Lập trình socket với TCP Socket: Như là cửa thông giữa các quá trình ứng dụng và giao thức truyền tải end-to-end (UDP hay TCP) TCP service: truyền tải tin cậy các byte từ một process đến một process khác Được kiểm soát bởi người lập trình ứng dụng Được kiểm soát bởi hệ điều hành process process socket socket TCP với Buffer và các biến host hay server internet TCP với Buffer và các biến host hay server Được kiểm soát bởi người lập trình ứng dụng Được kiểm soát bởi hệ điều hành 6 Lập trình socket với TCP Client phải liên lạc với server • Trước hết quá trình trên server phải chạy • server phải tạo socket để đón tiếp client Client liên lạc server bằng: • Tạo TCP socket • Chỉ ra IP address, port number của quá trình trên server • Khi client tạo socket: client TCP thiết lập kết nối đến server TCP • Khi được liên hệ bởi client, , server TCP tạo socket mới để quá trình server giao tiếp với client • Cho phép server giao tiếp với nhiều quá trình client • Các chỉ số port được dùng để phân biệt các client Từ góc độ ứng dụng TCP cung cấp dịch vụ truyền tải có trật tự và bảo đảm giữa client và server 7 Tương tác giữa client socket và server socket qua TCP Server Client create socket, port=x, for incoming request: welcomeSocket = ServerSocket() wait for incoming Thiết connection request connectionSocket = welcomeSocket.accept() read request from connectionSocket write reply to connectionSocket close connectionSocket TCP lập kết nối create socket, connect to hostid, port=x clientSocket = Socket() send request using clientSocket read reply from clientSocket close clientSocket 8 Stream với socket keyboard monitor được kết với socket, SOCKET như là một nguồn nhập của quá trình. input stream Client Process process inFromUser • Một input stream PHẢI SOCKET như là một đích đến của quá trình. output stream inFromServer được kết với socket, outToServer • Một output stream PHẢI input stream client TCP clientSocket socket to network TCP socket from network 9 Lập trình socket với UDP UDP: không có kết nối giữa client và server • Không bắt tay • sender gắn địa chỉ IP và port của đích vào mỗi gói • server phải tách địa chỉ IP và port của client từ gói nhận được UDP: data có thể không đúng thứ tự ở máy thu hay mất Từ góc độ ứng dụng UDP cung cấp dịch vụ truyền tải không bảo đảm giữa client và server Tương tác giữa client socket và server socket qua UDP Server create socket, port= x. serverSocket = DatagramSocket() read datagram from serverSocket write reply to serverSocket specifying client address, port number 10 Client create socket, clientSocket = DatagramSocket() Create datagram with server IP and port=x; send datagram via clientSocket read datagram from clientSocket close clientSocket
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.