Bài giảng Lập trình mạng Java: Chương 3 - ThS. Nguyễn Minh Thành
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình mạng Java: Chương 3 - ThS. Nguyễn Minh ThànhChương 3:Mô Hình Client-Server &Lập Trình SocketGIẢNG VIÊN : THS. NGUYỄN MINH THÀNHEMAIL : THANHNM@ITC.EDU.VNNội Dung1. Mô hình client – server2. Mô hình truyền tin socket3. Lập trình socket hướng kết nối4. Lập trình socket phi kết nối MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 21. Mô Hình Client/Server Mô Hình Client/Server Gồm có một chương trình đóng vai trò là client và một chương trình đóng vai trò là server. Hai chương trình này sẽ giao tiếp với nhau thông qua mạng. Chương trình server đóng vai trò cung cấp dịch vụ. Chương trình này luôn luôn lắng nghe các yêu cầu từ phía client, rồi tính toán và đáp trả kết quả tương ứng. Chương trình client cần một dịch vụ và gởi yêu cầu dịch vụ tới chương trình server và đợi đáp trả từ server. MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 31. Mô Hình Client/Server Mô Hình Client/Server (tt) Quá trình trao đổi dữ liệu giữa Client và Server Truyền một yêu cầu từchương trình client tới chương trình server Yêu cầu được server xửlý Truyền đáp ứng cho client MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 41. Mô Hình Client/Server Các Kiến Trúc Client/Server Client/Server hai tầng Tầng ứng dụng (client) Tầng lưu trữ dữ liệu (server) Đặc điểm kiến trúc 2 tầng công việc xử lý được dành cho phía client server chỉ đóng vai trò kiểm soát luồng vào ra giữa ứng dụng và dữ liệu Nhược điểm Toàn bộ ứng dụng được xử lý trên client Không tận dụng được hết khả năng của server Truyền tải dữ liệu giữa client và server nhiều MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 51. Mô Hình Client/Server Các Kiến Trúc Client/Server Client/Server 3 tầng Tầng trình diễn (client) Tầng lưu trữ dữ liệu (data server) Tầng xử lý dữ liệu trung tâm (Application server) MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 62. Lập Trình Mạng với Socket Lập Trình Mạng với Socket Trong mô hình TCP/IP, các chương trình client và server thường sử dụng các giao thức ở tầng ứng dụng và tầng vận chuyển để truyền thông dữ liệu cho nhau. Các giao thức còn lại chủ yếu nằm ở phần cứng mạng như card mạng, switch,…. 2 giao thức chính được dùng trong lập trình Socket là : TCP và UDP MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 72. Lập Trình Mạng với Socket Khái niệm về Socket Socket Đối tượng nằm giữa chương trình với 2 giao thức vận chuyển TCP và UDP. ◦ Một giao diện lập trình mạng để giao tiếp với các giao thức TCP và UDP. ◦ Lập trình viên không sử dụng trực tiếp giao thức TCP và UDP MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 82. Lập Trình Mạng với Socket Khái niệm về Socket (tt) Có 3 loại socket Socket hướng kết nối (TCP Socket) Socket không hướng kết nối (UDP Socket) Raw socket MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 92. Lập Trình Mạng với Socket Lý do sử dụng Socket Tại sao lập trình viên không sử dụng trực tiếp giao thức TCP và UDP để truyền tin ? Dữ liệu được truyền trên mạng Internet dưới dạng các gói có kích thước hữu hạn được gọi là datagram. Mỗi datagram chứa một header và một payload. Header chứa địa chỉ và cổng cần truyền gói tin đến, cũng như địa chỉ và cổng xuất phát của gói tin, và các thông tin khác được sử dụng để đảm bảo độ tin cậy truyền tin, payload chứa dữ liệu. Tuy nhiên do các datagram có chiều dài hữu hạn nên thường phải phân chia dữliệu thành nhiều gói và khôi phục lại dữliệu ban đầu từcác gói ởnơi nhận. Trong quá trình truyền tin có thểcó một hay nhiều gói bịmất hay bịhỏng và cần phải truyền lại hoặc các gói tin đến không theo đúng trình tự. việc phân chia dữliệu thành các gói, tạo các header, phân tích header của các gói đến, quản lý danh sách các gói đã nhận được và các gói chưa nhận được, ... rất nhiều công việc cần phải thực hiện, và đòi hỏi rất nhiều phần mềm phức tạp. MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 102. Lập Trình Mạng với Socket Lý do sử dụng Socket (tt) Các Socket che dấu người lập trình khỏi các chi tiết mức thấp của mạng như kiểu đường truyền, các kích thước gói, yêu cầu truyền lại gói, các địa chỉ mạng... Chúng cho phép người lập trình xem một liên kết mạng nhưlà một luồng mà có thể đọc dữ liệu ra hay ghi dữliệu vào từ luồng này. MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 112. Lập Trình Mạng với Socket Các Thao Tác cơ bản trên Socket Kết nối với một máy ở xa Gửi dữ liệu Nhận dữ liệu Ngắt liên kết Gán cổng Nghe dữ liệu đến Chấp nhận liên kết từ các máy ở xa trên cổng đã được gán MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 123. Lập Trình Socket hướng kết nối Socket hướng kết nối (TCP socket) Lập trình socket hướng kết nối sử dụng giao thức TCP để thành lập phiên làm việc giữa client và server. Cần thực hiện đàm phán kết nối trước khi thực hiện truyền dữ liệu. Việc thực hiện truyền dữ liệu có sự tin tưởng tuyệt đối. MÔ HÌNH CLIENT-SERVER & LẬP TRÌNH SOCKET 133. Lập Trình Socket hướng kết nối Đặc Điểm của TCP Socket C ...
Tìm kiếm theo từ khóa liên quan:
Lập trình mạng Java Lập trình mạng Lập trình Java Mô hình client-server Lập trình socket Mô hình truyền tin socketGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần: Mạng máy tính và lập trình mạng
4 trang 160 0 0 -
Báo cáo bài tập lớn môn Mạng máy tính và Lập trình mạng: Tìm hiểu về Soap
32 trang 136 0 0 -
Tóm tắt Đồ án tốt nghiệp Công nghệ thông tin: Lập trình socket và ứng dụng trong game cờ caro
29 trang 135 0 0 -
349 trang 123 0 0
-
Excel add in development in c and c phần 9
0 trang 110 0 0 -
Bài giảng Lập trình mạng - Chương 1: Giới thiệu Lập trình mạng
18 trang 108 0 0 -
Program C Ansi Programming Embedded Systems in C and C++ phần 4
12 trang 98 0 0 -
Lập trình Java cơ bản : GUI nâng cao part 3
6 trang 85 0 0 -
265 trang 82 0 0
-
Giáo trình Lập trình mạng: Phần 1 - Trường Đại học Phan Thiết
78 trang 75 0 0 -
81 trang 68 0 0
-
Giáo trình Lập trình mạng: Phần 1
54 trang 61 0 0 -
Nghiên cứu hệ thống báo cháy ứng dụng cảm biến nhiệt hồng ngoại và camera
4 trang 58 0 0 -
Giáo trình Lập trình mạng - ThS. Văn Thiên Hoàng
201 trang 56 0 0 -
17 trang 47 0 0
-
67 trang 46 0 0
-
Mô tả công việc lập trình viên Java
1 trang 36 0 0 -
Code Division Multiple Access (CDMA) phần 10
19 trang 35 0 0 -
Tài liệu hệ thống phát hiện xâm nhập
14 trang 34 0 0 -
Bài giảng Lập trình mạng: Phần 1
75 trang 33 0 0