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

Bài giảng Mạng máy tính - Chương 7.1: Lập trình socket

Chia sẻ: Ti Vu | Ngày: | Loại File: PDF | Số trang:18

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

Chương này trang bị cho người học những hiểu biết cơ bản về lập trình socket. Nội dung trình bày gồm có: Lập trình socket với TCP, tương tác giữa client/server qua socket TCP, stream, lập trình socket với UDP,... Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Mạng máy tính - Chương 7.1: Lập trình socket

Lập trình socket<br /> Mục ñích: làm thế nào ñể xây dựng các ứng dụng<br /> client/server truyền dữ liệu qua socket<br /> Socket API<br /> <br /> socket<br /> <br /> ❒ ðưa ra trong BSD4.1 UNIX,<br /> <br /> 1981<br /> ❒ Cho phép ứng dụng tạo ra và<br /> sử dụng socket<br /> ❒ Nguyên lý client/server<br /> ❒ Có hai dạng socket<br />  Truyền gói tin, không tin<br /> cậy<br />  Truyền dòng bytes, tin cậy<br /> <br /> Là giao diện (cửa) do ứng<br /> dụng tạo ra trên máy<br /> trạm, quản lý bới OS qua<br /> ñó các ứng dụng có thể gửi<br /> và nhận thông ñiệp ñến/từ<br /> các ứng dụng khác<br /> <br /> 1<br /> <br /> Lập trình socket vớiTCP<br /> Socket: cửa giao tiếp giữa các tiến trình và giao thức<br /> giao vận (UCP hoặc TCP)<br /> Dịch vụ TCP: truyền các bytes tin cậy từ một tiến trình<br /> ñến các tiến trình khác<br /> <br /> ðiều khiển bới<br /> Lập trình viên<br /> ðiều khiển bởi<br /> Hệ ñiều hành<br /> <br /> Tiến trình<br /> <br /> Tiến trình<br /> <br /> socket<br /> TCP với<br /> Bộ ñệm,<br /> Các biến<br /> <br /> socket<br /> TCP với<br /> Bộ ñệm,<br /> Các biến<br /> <br /> Máy trạm,<br /> máy chủ<br /> <br /> internet<br /> <br /> ðiều khiển bới<br /> Lập trình viên<br /> ðiều khiển bởi<br /> Hệ ñiều hành<br /> <br /> Máy trạm,<br /> máy chủ<br /> 2<br /> <br /> Lập trình socket với TCP<br /> Client phải gửi yêu cầu tới server ❒ khi ñược client liên lạc, server<br /> TCP tạo socket mới ñể tiến<br /> ❒ Tiến trình máy chủ phải ñang<br /> trình máy chủ giao tiếp với<br /> ñược thực hiện<br /> client<br /> ❒ máy chủ phải mở socket<br />  cho phép nói chuyện với<br /> (cổng) ñể nhận yêu cầu từ<br /> nhiều clients<br /> client<br />  phân biệt client bằng số<br /> Client yêu cầu server bằng cách:<br /> hiệu cổng (chương 3…)<br /> ❒ Tạo một socket TCP trên máy<br /> ❒ Chỉ rõ IP address & port<br /> number của tiến trình máy chủ<br /> ðối với ứng dụng<br /> ❒ Khi client tạo socket: client<br /> TCP cung cấp dịch vụ truyền dòng<br /> TCP tạo liên kết tới server<br /> bytes tin cậy và có thứ tự<br /> TCP<br /> giữa client và server<br /> 3<br /> <br /> Tương tác giữa client/server qua socket<br /> TCP Server<br /> Client<br /> (máy hostid)<br /> tạo socket,<br /> port=x, cho yêu cầu tới:<br /> welcomeSocket =<br /> ServerSocket()<br /> <br /> chờ yêu cầu tới<br /> connectionSocket =<br /> welcomeSocket.accept()<br /> nhận yêu cầu từ<br /> connectionSocket<br /> trả lời tại<br /> connectionSocket<br /> ñóng socket<br /> connectionSocket<br /> <br /> Tạo liên kết<br /> TCP<br /> <br /> tạo socket,<br /> kết nối tới hostid, port=x<br /> clientSocket =<br /> Socket()<br /> gửi yêu cầu từ<br /> clientSocket<br /> <br /> ñọc trả lời tại<br /> clientSocket<br /> ñóng<br /> clientSocket<br /> 4<br /> <br /> Stream<br /> keyboard<br /> <br /> monitor<br /> <br /> Client<br /> Process<br /> process<br /> <br /> output<br /> stream<br /> <br /> inFromServer<br /> <br /> input<br /> stream<br /> <br /> outToServer<br /> <br /> vào/ra một tiến trình.<br /> ❒ input stream ñược gắn với<br /> một nguồn vào, e.g. bàn<br /> phím, socket<br /> ❒ output stream ñược gắn với<br /> một nguồn ra, e.g., màn hình<br /> socket.<br /> <br /> inFromUser<br /> <br /> ❒ stream một chuỗi ký tự<br /> <br /> input<br /> stream<br /> <br /> client<br /> TCP<br /> clientSocket<br /> socket<br /> to network<br /> <br /> TCP<br /> socket<br /> <br /> from network<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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