[r]
(1)L P TRÌNH Ậ
L P TRÌNH Ậ
SOCKET
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 -ạ ọ ệ
(2)N i dungộ
N i dungộ
Gi i thi u l p trình socketGi i thi u l p trình socketớớ ệ ậệ ậ TCP/IPTCP/IP
Socket TCP/IPSocket TCP/IP L p trình WinsockL p trình Winsockậậ
C u trúc chC u trúc chấấ ươương trình ng d ngng trình ng d ngứứ ụụ S d ng IDE: Visual C++S d ng IDE: Visual C++ử ụử ụ
(3)Ký hi u vi t t tệ ế ắ
Ký hi u vi t t tệ ế ắ
IPC: InterProcess CommunicationIPC: InterProcess Communication BSD: Berkeley Software DistributionBSD: Berkeley Software Distribution TCP: Transmission Control ProtocolTCP: Transmission Control Protocol UDP: User Datagram ProtocolUDP: User Datagram Protocol
(4)Gi i thi u v Socketsớ ệ ề
Gi i thi u v Socketsớ ệ ề
Socket m t nh ng k thu t c b n nh t Socket m t nh ng k thu t c b n nh t ộộ ữữ ỹỹ ậ ảậ ả ấấ
trong truy n thơng m ng máy tínhề
trong truy n thơng m ng máy tínhề
Socket m t phSocket 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 ti n trình đữ ế ược BSD đ xu t.ề ấ
thơng gi a 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 s d ng Nhi u ng d ng thông d ng hi n s d ng ề ứề ứ ụụ ụụ ệệ ụử ụ
k thu t socket nh : trình t web, email client, ỹ ậ ệ
k thu t socket nh : trình t web, email client, ỹ ậ ệ
(5)Socket API
Socket API
Giao di n l p trình socket Windows, Giao di n l p trình socket Windows, ệ ậệ ậ
winsock, m t đ c t c a nhi u hãng ph n ộ ặ ả ủ ề ầ
winsock, 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 Windows Socket API d a n n ự ề
TCP/IP Windows Socket API d a n n ự ề
Berkeley socket Berkeley socket
Trong BSD Unix, socket m t ph n kernel Trong BSD Unix, socket m t ph n kernel ộộ ầầ
c a h u hành Nó cung c p d ch v IPC ủ ệ ề ấ ị ụ
c a h u hành Nó cung c p d ch v IPC ủ ệ ề ấ ị ụ
c c b ho c gi a ti n trình m ngụ ộ ặ ữ ế
c c b ho c gi a ti n trình m ngụ ộ ặ ữ ế
(6)Visual 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 menuCh n Project > Settings menuọọ Ch n tab LinkCh n tab Linkọọ
Thêm Thêm wsock32.libwsock32.lib vào ô “Object/Library vào ô “Object/Library
modules” modules”
Đ xác đ nh l i chĐ xác đ nh l i chểể ịị ỗỗ ươương trình, s d ng hàm ng trình, s d ng hàm ụử ụ
WSAGetLastError() 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:ụ ỗụ ỗ ụử ụ ệệ
(7)T ng k tổ ế
T ng k tổ ế
Socket b giao th c TCP/IPSocket b giao th c TCP/IPộộ ứứ
L p trình Winsock: c u trúc chL 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 chVi t 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 UDPớ ứ