kỹ thuật lập trình mạng mô hình client server

59 17 0
  • Loading ...
1/59 trang

Thông tin tài liệu

Ngày đăng: 03/04/2019, 21:50

Kỹ thuật lập trình mạngCơ bản về mạng: OSI, TCPIPGiao thức TCP, UDPMô hình ClientServerTrao đổi dữ liệu giữa các máy tínhGiới thiệu kỹ thuật sockettìm hiểu kỹ chuyên sâu hơn để tạo giao tiếp và trao đổi dữ liệu giữa các máy tính với nhau. Chapter KỸ THUẬT LẬP TRÌNH MANG CLIENT - SERVER Nội dung  Giới thiệu  Kỹ thuật lập trình mạng  Cơ mạng: OSI, TCP/IP  Giao thức TCP, UDP  Mơ hình Client/Server  Trao đổi liệu máy tính  Giới thiệu kỹ thuật socket Java Simplified / Session 22 / of 45 Giới thiệu  Một ứng dụng chạy máy đơn cục bộ: khơng thích hợp với nhu cầu thực tế  ứng dụng: tích hợp triệu gọi lẫn mạng Intranet, Internet cách hiệu an tồn: kỹ thuật lập trình mạng  Yêu cầu người lập trình hiểu biết kỹ chuyên sâu để tạo giao tiếp trao đổi liệu máy tính với Java Simplified / Session 22 / of 45 Giới thiệu  Học lập trình mạng để làm gì? ◦ Có hiểu biết để quản trị dịch vụ có sẵn mạng tốt ◦ Có kiến thức để lập tiện ích khai thác tài nguyên mạng internet ◦ Bước đầu lập ứng dụng server client phục vụ cho mục đích riêng Java Simplified / Session 22 / of 45 Kỹ thuật lập trình mạng  Thực nhiều chức năng: ◦ Retrieve Data ◦ Send Data  File storage  Massively parallel computing ◦ Peer-to-Peer Interaction  Games  Chat  File Sharing ◦ Server ◦ Searching the Web ◦ Electronic Commerce ◦ Ubiquitous Computing ◦ Interactive Television Java Simplified / Session 22 / of 45 Review Network  Các khái niệm  Các thành phần  OSI Model  TCP/IP  Giao thức TCP  Giao thức UDP  Các dịch vụ mạng Java Simplified / Session 22 / of 45 Các khái niệmcơ cơbản bản: Network: Các khái niệm  Mạng máy tính: là một tập hợp các máy tính được nối với bởi các đường truyền vật lý theo một kiến trúc nào đo  Đường truyền vật lý:  Kiến trúc mạng: Thể hiện cách nối các máy tính  với và tập hợp các qui tắc, qui ước  mà tất cả các thực thể tham gia truyền thông mạng phải tuân theo  Hình trạng/đồ hình mạng – Topology: Topo Point to point, Broadcast  Giao thức mạng – Protocol Java Simplified / Session 22 / of 45 Phân loại mạng  Phân loại theo khoảng cách địa lý: ◦ LAN, WAN, MAN…  Phân loại theo đồ hình mạng (Topo): ◦ Point to point, ◦ Broadcast  Phân loại theo cách truyền tin ◦ Chuyển mạch kênh (circuit-switched), ◦ Chuyển mạch goi (packet-switched)  Phân loại theo kiến trúc quản lý: ◦ Peer to peer, ◦ Server based Java Simplified / Session 22 / of 45 Chuyển mạch kênh – Circuit switched  Đặc điểm: ◦ ◦ ◦ ◦ ◦ ◦ ◦ Thực trao đổi thông tin hai đối tượng theo thời gian thực Đối tượng sử dụng làm chủ kênh dẫn suốt q trình trao đổi tin Hiệu suất thấp có lúc bên hết thông tin để truyền Lãng phí thời gian có giai đoạn thiết lập kênh giải phóng kênh Nội dung thơng tin khơng mang thông tin địa Phù hợp với dịch vụ thoại Khi lưu lượng tăng đến mức ngưỡng số gọi bị khố, mạng từ chối yêu cầu kết nối Java Simplified / Session 22 / of 45 Chuyển mạch gói (packet-switched) 1045 Java Simplified / Session 22 / 10 of Lập trình mạng thơng qua Socket  yêu cầu dịch vụ máy chủ thực điều đó, Client phải có khả kết nối với máy chủ => Thực thông qua chế socket (ổ cắm)  Socket API => ta lập trình điều khiển truyền thông máy sử dụng giao thức TCP, UDP  Kết nối theo socket cần: IP port 4545 Java Simplified / Session 22 / 45 of Giới thiệu Socket  Socket API – Socket Application Programming Interface  Ðược giới thiệu BSD4.1 UNIX, 1981  Ðược ứng dụng khởi tạo, sử dụng hủy bỏ  Dùng chế client/server  Cung cấp hai dịch vụ chuyển liệu thông qua socket API: ◦ unreliable datagram (UDP) ◦ reliable, byte stream-oriented (TCP) 4645 Java Simplified / Session 22 / 46 of Socket 4745 Java Simplified / Session 22 / 47 of 4845 Java Simplified / Session 22 / 48 of Các loại Socket 4945 Java Simplified / Session 22 / 49 of Các loại Socket  Stream Socket: dùng cho connectionoriented protocol TCP  Datagram Socket: dùng cho connectionless protocol UDP  Raw Socket: dùng cho số protocol số ứng dụng đặc biệt, dùng dịch vụ trực tiếp lớp IP 5045 Java Simplified / Session 22 / 50 of Các hàm socket  Hàm bind() để đăng ký với hệ thống  Hàm connect() để kết nối đến server  Hàm listen() đặt socket trạng thái chờ, lắng nghe kết nối từ phía client  Hàm accept() : chấp nhận kết nối từ client đến  Hàm read() để đọc liệu từ socket  Hàm write() để ghi liệu  Hàm sendto() để gởi liệu đến địa socket từ xa  Hàm recvfrom() để nhận liệu đến địa socket từ xa 5145 Java Simplified / Session 22 / 51 of TCP socket - hoạt động 5245 Java Simplified / Session 22 / 52 of UDP socket – hoạt động 5345 Java Simplified / Session 22 / 53 of Số hiệu cổng socket  Một trình phải cơng bố số hiệu cổng socket mà sử dụng  Mỗi cổng giao tiếp thể địa xác định hệ thống  Có thể nhận liệu gửi đến cổng giao tiếp từ trình khác 5445 Java Simplified / Session 22 / 54 of Ex: dịch vụ Dịch vụ DNS lookup FTP HTTP POP3 Windows shared printer name lookup Telnet Giao thức UDP TCP TCP TCP UDP Cổng dịch vụ 53 21 80 110 137 TCP 23 5545 Java Simplified / Session 22 / 55 of Các môi trường lt Socket API  Socket API dựa Berkeley socket  Socket BSD Unix  Socket Windows  Trong MS-DOS, Windows, MacOS OS/2, sockets cung cấp dạng thư viện lập trình  Hầu hết ngơn ngữ lập trình hỗ trợ lập trình mạng: C/C++, Python, Java, VB, … 5645 Java Simplified / Session 22 / 56 of Socket BSD Unix  Trong BSD Unix, socket phần kernel hệ điều hành Nó cung cấp dịch vụ IPC cục hoặc tiến trình mạng 5745 Java Simplified / Session 22 / 57 of socket Windows  WinSock thực Berkeley Sockets Interface môi trường Windows  WinSock có nhiều mở rộng thêm so với Berkeley Sockets 5845 Java Simplified / Session 22 / 58 of WinSock API  Dùng thư viện WinSock API (Windows Sockets Application Programming Interface ) để thực ◦ Cần có thư viện WINSOCK.DLL hoặc ◦ WINSOCK32.DLL (32-bit Windows ) ◦ Cần include hàm cấu trúc từ WINSOCK.H hoặc WINSOCK2.H ◦ Có thể biên dịch dạng dòng lệnh : cl –o dest-file src-file ws2_32.lib 5945 Java Simplified / Session 22 / 59 of ...Nội dung  Giới thiệu  Kỹ thuật lập trình mạng  Cơ mạng: OSI, TCP/IP  Giao thức TCP, UDP  Mơ hình Client/ Server  Trao đổi liệu máy tính  Giới thiệu kỹ thuật socket Java Simplified... hình client/ server  Mơ hình truyền tin client/ server hướng tới việc cung cấp dịch vụ Quá trình trao đổi liệu bao gồm:   Truyền yêu cầu từ tiến trình client tới tiến trình server  Yêu cầu server. .. thiệu  Học lập trình mạng để làm gì? ◦ Có hiểu biết để quản trị dịch vụ có sẵn mạng tốt ◦ Có kiến thức để lập tiện ích khai thác tài nguyên mạng internet ◦ Bước đầu lập ứng dụng server client phục
- Xem thêm -

Xem thêm: kỹ thuật lập trình mạng mô hình client server, kỹ thuật lập trình mạng mô hình client server, TCP/IP và OSI. Các giao thức

Mục lục

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay