[r]
Trang 1L P TRÌNH Ậ
L P TRÌNH Ậ
SOCKET
Khoa M ng máy tính & Truy n thông ạ ề
Khoa M ng máy tính & Truy n thông ạ ề
- Đ i h c Công ngh Thông tin - ạ ọ ệ
- Đ i h c Công ngh Thông tin - ạ ọ ệ
Trang 2N i dung ộ
N i dung ộ
Gi i thi u l p trình socket Gi i thi u l p trình socket ớ ớ ệ ậ ệ ậ
TCP/IP
Socket và TCP/IP
L p trình Winsock L p trình Winsock ậ ậ
C u trúc ch C u trúc ch ấ ấ ươ ươ ng trình ng d ng ng trình ng d ng ứ ứ ụ ụ
S d ng IDE: Visual C++ S d ng IDE: Visual C++ ử ụ ử ụ
T ng k t T ng k t ổ ổ ế ế
Trang 3Ký hi u vi t t t ệ ế ắ
Ký hi u vi t t t ệ ế ắ
IPC: InterProcess Communication
BSD: Berkeley Software Distribution
TCP: Transmission Control Protocol
UDP: User Datagram Protocol
IP: Internet Protocol
Trang 4Gi i thi u v Sockets ớ ệ ề
Gi i thi u v Sockets ớ ệ ề
Socket là m t trong nh ng k thu t c b n nh t Socket là m t trong nh ng k thu t c b n nh t ộộ ữữ ỹỹ ậ ơ ảậ ơ ả ấấ trong truy n thông trên m ng máy tínhề ạ
trong truy n thông trên m ng máy tínhề ạ
Socket là m t phSocket là m t phộộ ươương th c th c hi n truy n ng th c th c hi n truy n ứứ ựự ệệ ềề
thông gi a các ti n trình đữ ế ược BSD đ xu t.ề ấ
thông gi a các ti n trình đữ ế ược BSD đ xu t.ề ấ
Socket đSocket đượược s d ng đ m t ti n trình “nói c s d ng đ m t ti n trình “nói ử ụử ụ ể ộ ếể ộ ế
chuy n” v i m t ti n trình khác.ệ ớ ộ ế
chuy n” v i m t ti n trình khác.ệ ớ ộ ế
Nhi u ng d ng thông d ng hi n nay s d ng Nhi u ng d ng thông d ng hi n nay s d ng ề ứề ứ ụụ ụụ ệệ ử ụử ụ
k thu t socket nh : trình duy t web, email client, ỹ ậ ư ệ
k thu t socket nh : trình duy t web, email client, ỹ ậ ư ệ
…
Trang 5Socket API
Giao di n l p trình socket trên Windows, Giao di n l p trình socket trên Windows, ệ ậệ ậ
winsock, là m t đ c t c a nhi u hãng ph n ộ ặ ả ủ ề ầ
winsock, là m t đ c t c a nhi u hãng ph n ộ ặ ả ủ ề ầ
m m nh m chu n hóa cách th c s d ng ề ằ ẩ ứ ử ụ
m m nh m chu n hóa cách th c s d ng ề ằ ẩ ứ ử ụ
TCP/IP trên Windows Socket API d a trên n n ự ề
TCP/IP trên Windows Socket API d a trên n n ự ề
Berkeley socket
Trong BSD Unix, socket là m t ph n trong kernel Trong BSD Unix, socket là m t ph n trong kernel ộộ ầầ
c a h đi u hành Nó cung c p các d ch v IPC ủ ệ ề ấ ị ụ
c a h đi u hành Nó cung c p các d ch v IPC ủ ệ ề ấ ị ụ
c c b ho c gi a các ti n trình trên m ngụ ộ ặ ữ ế ạ
c c b ho c gi a các ti n trình trên m ngụ ộ ặ ữ ế ạ
Trong MS-DOS, Windows, MacOS và OS/2,
sockets được cung c p dấ ướ ại d ng các th vi n ư ệ
sockets được cung c p dấ ướ ại d ng các th vi n ư ệ
Trang 6Visual C++ v i Winsock (2) ớ
Visual C++ v i Winsock (2) ớ
Liên k t th vi n Winsock:ế ư ệ
Liên k t th vi n Winsock:ế ư ệ
Ch n Project > Settings trên menuCh n Project > Settings trên menuọọ
Ch n tab LinkCh n tab Linkọọ
Thêm wsock32.lib vào ô “Object/Library
modules”
Đ xác đ nh l i trong chĐ xác đ nh l i trong chểể ịị ỗỗ ươương trình, s d ng hàm ng trình, s d ng hàm ử ụử ụ WSAGetLastError()
Ví d : v i l i 10037, s d ng l nh: Ví d : v i l i 10037, s d ng l nh: ụ ớ ỗ ụ ớ ỗ ử ụ ử ụ ệ ệ
Trang 7T ng k t ổ ế
T ng k t ổ ế
Socket và b giao th c TCP/IP Socket và b giao th c TCP/IP ộ ộ ứ ứ
L p trình Winsock: c u trúc ch L p trình Winsock: c u trúc ch ậ ậ ấ ấ ươ ươ ng trình, ng trình,
th vi n s d ng, IDE ư ệ ử ụ
th vi n s d ng, IDE ư ệ ử ụ
Vi t các ch Vi t các ch ế ế ươ ươ ng trình ng d ng s d ng ng trình ng d ng s d ng ứ ứ ụ ụ ử ụ ử ụ socket, v i hai giao th c TCP và UDP ớ ứ
socket, v i hai giao th c TCP và UDP ớ ứ