Bài giảng Lập trình socket
Lập trình socket
Click to add Text
Nội dung
⚫ Giới thiệu lập trình mạng
Truyền thông mạng, tính toán client-server;
Socket API cho lập trình các ứng dụng mạng
⚫ Xây dựng ứng dụng CHAT theo mô hình
Client-Server
Giới thiệu lập trình mạng
Click to add Text
Kiến trúc mạng Internet
⚫ application: Hỗ trợ các ứng dụng mạng
ftp, smtp, http
application
transport
network
link
⚫ transport: Chuyển dữ liệu đầu cuối
(host-host)
tcp, udp
⚫ network: Định tuyến các gói tin
(datagrams) từ nguồn tới đích
ip, routing protocols
⚫ link: Chuyển dữ liệu theo các chặng
ppp, ethernet
physical
⚫ physical: Các tín hiệu bit dữ liệu trên
đường truyền
Lập trình ứng dụng mạng
⚫ Người lập trình có thể tạo các ứng dụng mạng
mà không cần biết chi tiết hoạt động của các
giao thức truyền thông bên dưới.
⚫ Mạng chỉ là môi trường truyền dữ liệu (thụ
động), xử lý dữ liệu thực sự trong các CTƯD
⚫ Chỉ có các chương trình ứng dụng giao tiếp với
nhau hiểu được khuôn dạng và ngữ nghĩa thông
điệp
⚫ Tuy nhiên, tùy từng ứng dụng sử dụng các giao
thức hỗ trợ thích hợp bên dưới (giao thức giao
vận) -> người lập trình cần xác định khi lập trình
ứng dụng
Các giao thức giao vận trên Internet
application
transport
⚫ TCP: Phân phát tin cậy, đúng
network
data link
physical
thứ tự (TCP)
network
data link
physical
twork
link
phal
Chống tắc nghẽn (congestion)
Kiểm sóat luồng (flow control)
network
data link
physical
Thiết lập kết nối (connection
network
data link
physical
setup)
VD các ƯD: HTTP, FTP
network
ta link
ical
⚫ UDP: Phâ n phá t không đảm
bảo tin cậy, đúng thứ tự -> nỗ
lực tốt nhất (“best-effort”)
application
transport
network
data link
physical
VD các ƯD: Audio, Video thời
gian thực
Communication port (Socket)
⚫ Cổng (port) là cơ chế cho phép dữ liệu được
truyền đến đúng ứng dụng đang chạy trên máy
tí nh
Một kết nối vật lý, nhiều ứng dụng sử dụng
⚫ Mỗi ứng dụng gắn với một cổng logic (số 16 bit
(0..65535))
Cổng 0.. 1023 bị hạn chế cho các dịch vụ phổ biến
HTTP, FTP
Các cổng còn lại dành cho ứng dụng người dùng
⚫ Việc gán cổng thực hiện bởi chương trình hoặc
hệ điều hành tùy theo ứng dụng
Socket API cho lập trình mạng
⚫ Socket: Điểm cuối trong
một kết nối trao đổi thông
tin giữa hai chương trình
ứng dụng qua mạng.
⚫ Định danh socket (định
danh ứng dụng) là số
cổng truyền thông
⚫ Socket API (Application
Program Interface), Tập
các hàm giao diện giữa
chương trình ứng dụng
và các giao thức truyền
thông (HĐH định nghĩa
cá c API)
Khuôn mẫu truyền thông
Tí nh toá n Client-Server
⚫ Cơ chế: Một ứng dụng bắt đầu trước, đợi ứng
dụng khác liên lạc. Ứng dụng thứ 2 phải biết “vị
trí” ứng dụng thứ 1 đang đợi (máy tính, ứng
dụng)
Chương trình đợi: Server
Chương trình liên lạc: Client
⚫ Khuôn mẫu truyền thông:
Ứng dụng Server khởi động và đợi liên lạc từ client
Client liên lạc với Server (Computer, Application)
Client và Server trao đổi dữ liệu
Kết thúc, client và server gửi tín hiệu end-of-file
Socket hỗ trợ TCP và UDP
TCP
UDP
Minh họa WinSock API cho HĐH
Windows - Stream Socket
Minh họa WinSock API cho HĐH
Windows – Datagram Socket
Nền tảng
⚫ Windows: MFC Csocket, CsocketFile
Visual C++ 6.0,…
Java: Java.net.Socket, java.net.ServerSocket
⚫ UNIX: Socket++
Xây dựng ứng dụng CHAT
theo mô hì nh Client-Server
Click to add Text
Bạn đang xem tài liệu "Bài giảng Lập trình socket", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_lap_trinh_socket.ppt

