You are on page 1of 35

MN HC

LP TRNH MNG
Thi gian 45 tit l thuyt, 15 tit thc hnh Thi cui k: trc nghim v t lun Thc hnh theo s phn nhm, c im danh v lm bo co Slice mn lp trnh mng Network programming for Microsoft windows, Anthony jones, Jim Ohlund, Microsoft Corporation Computer Network, Andrew S. Tanenbaum, Prentice Hall, fourth edition B CD MSDN ca Microsoft. Java lp trnh mng, Nguyn Phng Lan, Hong c Hi, Nh xut bn Gio Dc

Ti liu tham kho:

MN HC

LP TRNH MNG
Ni dung chng trnh
1. Tng quan v lp trnh mng 2. Lp trnh mng vi th vin Winsock ca Windows 3. Lp trnh multicasting 4. Lp trnh mng vi h thng Web 5. Lp trnh mng vi h thng Email 6. Lp trnh mng vi h thng truyn File 7. Chng trnh multiuser chat

Chng 1: Tng quan v lp trnh mng

Chng 1

1. M hnh OSI
M hnh OSI a ra nhm: Cch thc cho cc thit b mng c th truyn d liu c vi nhau Cch thc khi no thit b c truyn d liu khi no khng c truyn d liu Phng php m bo mc tin cy, tc truyn d liu. Cch thc m bo cc thit b mng duy tr tc truyn d liu thch hp Cch thc thit lp kt ni, truyn v sp xp d liu.

Chng 1

1. M hnh OSI

M hnh 7 tng OSI

Chng 1

1. M hnh OSI
Tng 1 (tng vt l-Physical): cung cp cc phng tin truyn tin, th tc khi ng, duy tr hu b cc lin kt vt l cho php truyn cc dng d liu dng bit. Tng 2 (tng lin kt d liu-Data Link): thit lp, duy tr, hu b cc lin kt d liu kim sot lung d liu, pht hin v khc phc cc sai st truyn tin. Tng 3 (tng mng-Network): chn ng truyn tin trong mng, thc hin kim sot lung d liu, khc phc sai st, ct hp d liu. Tng 4 (tng giao vn-Transport): kim sot gia cc nt ca lung d liu, khc phc sai st, c th thc hin ghp knh v ct hp d liu. Tng 5 (tng phin-Session): thit lp, duy tr ng b ho v hu b cc phin truyn thng. Lin kt phin phi c thit lp thng qua i thoi v cc tham s iu khin. Tng 6 (tng trnh d liu-Presentation): biu din thng tin theo c php d liu ca ngi s dng. Loi m s dng v vn nn d liu. Tng 7 (tng p dng-Application): l giao din gia ngi v mi trng h thng m. X l ng ngha thng tin, tng ny cng c chc nng cho php truy cp v qun chuyn giao tp, th tn in t

Chng 1

1. M hnh OSI

Chng 1

1. M hnh OSI

Qu trnh ng gi ti cc Layer ca OSI

Chng 1

1. M hnh OSI

Qu trnh ng gi ti cc Layer ca OSI

Chng 1

2. GIAO THC TCP/IP


Giao thc (protocol)
Giao thc l mt tp hp cc quy tc giao tip gia hai h thng gip chng hiu v trao i d liu c vi nhau.

Kin trc giao thc TCP/IP

Chng 1

2. GIAO THC TCP/IP

Giao thc TCP/IP

Chng 1

2. GIAO THC TCP/IP


Tng 3 s dng giao thc IP, tng 4 c th s dng giao thc TCP ch c ni kt hoc UDP ch khng ni kt Tng 5 l tng ng dng. Mi loi ng dng phi nh ngha mt loi giao thc cc ng dng ny trao i thng tin vi nhau. V d ng dng Web s dng giao thc HTTP ti cc trang web t webserver v webbowser ng dng th in t s dng giao thc SMTP chuyn tip mail gi i n mail server ca ngi nhn v dng giao thc POP3 hoc IMAP nhn mail v cho ngi c ng dng truyn ti tp tin s dng giao thc FTP ti cc tp tin t cc FTP server xa v my ngi dng hay ngc li ...

Chng 1

3. M HNH CLIENT SERVER


Theo m hnh client server, mt chng trnh ng dng c chia lm 2 phn -Qu trnh chuyn cung cp mt s phc v no v d phc v web, phc v tp tin, phc v th in t gi l server -Qu trnh c yu cu s dng cc dch v do server cung cp c gi l client Giao tip gia server v client c thc hin di hnh thc trao i thng ip (message). Request message t client v Reply message t pha server.

Chng 1

3. M HNH CLIENT SERVER

Qu trnh ang thc thi Qu trnh ang ch i

Chng 1

4. CC CH GIAO TIP
Giao tip gia client v server c th din ra hai ch l blocked v non blocked Ch blocked

Chng 1

4. CC CH GIAO TIP
Ch non-blocked

Chng 1

5. SOCKET
5.1 Gii thiu socket - Socket l mt giao din lp trnh ng dng (API Application Programming Interface) c gii thiu u tin trong n bn Unix BSD 4.2 di dng cc hm h thng trong ngn ng C. Ngy ngay, socket c h tr hu ht trn cc h iu hnh: Windows, Linux v trong nhiu ngn ng lp trnh nh C, C++, Java, VC++, Dot.net... - Socket cho php thit lp cc knh giao tip m hai u knh c nh du bi hai cng (port).

Chng 1

5. SOCKET
5.1 Gii thiu socket C hai kiu socket AF_UNIX: ch cho php giao tip gia cc qu trnh trong cng mt my tnh - AF_INET: cho php giao tip gia cc qu trnh trn nhng my tnh khc nhau

Chng 1

5. SOCKET
5.2 Khi nim cng (port) thc hin cc cuc giao tip, qu trnh cn c cng ca socket m mnh s dng. Mi cng giao tip th hin mt a ch xc nh trong h thng,

Chng 1

5. SOCKET
5.2 Khi nim cng (port) S hiu cng gn cho socket phi duy nht trn my tnh, c gi tr trong khong 0 65535 (16 bit), cc cng t 1 ti 1023 c dnh ring cho cc qu trnh ca h thng. Mt s cng thng dng

Chng 1

5. SOCKET
5.2 Khi nim cng (port) S hiu cng gn cho socket phi duy nht trn my tnh, c gi tr trong khong 0 65535 (16 bit), cc cng t 1 ti 1023 c dnh ring cho cc qu trnh ca h thng. Mt s cng thng dng

Chng 1

5. SOCKET
5.2 Khi nim cng (port) S hiu cng gn cho socket phi duy nht trn my tnh, c gi tr trong khong 0 65535 (16 bit), cc cng t 1 ti 1023 c dnh ring cho cc qu trnh ca h thng. Mt s cng thng dng

Chng 1

5. SOCKET
5.2 Khi nim cng (port) S hiu cng gn cho socket phi duy nht trn my tnh, c gi tr trong khong 0 65535 (16 bit), cc cng t 1 ti 1023 c dnh ring cho cc qu trnh ca h thng. Mt s cng thng dng

Chng 1

5. SOCKET
5.3 Giao tip TCP v UDP Giao tip c kt ni s dng giao thc TCP Giao tip khng c kt ni s dng giao thc UDP

Giao tip c kt ni TCP


Tn ti knh giao tip gia hai bn giao tip D liu c gi i theo ch m bo: c kim tra li, truyn li gi tin li hay mt, m bo th t n ca cc gi tin... D liu chnh xc, tc truyn chm

Giao tip khng kt ni UDP


Khng tn ti knh giao tip o gia hai bn giao tip D liu c gi i theo ch khng m bo D liu khng chnh xc, tc truyn nhanh Thch hp cho cc ng dng cn tc khng cn chnh xc cao...

Chng 1

5. SOCKET
5. 4 M hnh Client Server s dng TCP Chng trnh server ch lp Giai on 1: Server to socket, gn s hiu cng v lng nghe yu cu kt ni

-socket() server yu cu mt socket c th s dng cc dch v ca tng vn chuyn -bind() server yu cu gn s hiu cng cho socket -listen() server lng nghe cc yu cu kt ni t cc client trn cng c gn

Chng 1

5. SOCKET
5. 4 M hnh Client Server s dng TCP Giai on 2: client to socket, yu cu thit lp mt kt ni ti server

-socket() client yu cu to mt socket c th s dng cc dch v ca tng vn chuyn, thng thng h thng t ng gn mt s hiu cng cn rnh cho socket ca client -connect() client gi yu cu connect ti server c a ch IP v port xc nh -accept() server chp nhn kt ni ca client khi mt knh giao tip o c hnh thnh, client v server c th trao i thng tin qua knh giao tip o ny

Chng 1

5. SOCKET
5. 4 M hnh Client Server s dng TCP Giai on 3: trao i thng tin gia client v server

-Sau khi chp nhn yu cu kt ni,thng thng server thc hin lnh read v ngh (blocked) cho ti khi c thng ip t client gi ti -Server phn tch v thc thi yu cu, kt qu s c gi v cho client bng lnh write() -Sau khi gi yu cu bng lnh write(), client ch nhn thng ip t server bng lnh read()

Chng 1

5. SOCKET
5. 4 M hnh Client Server s dng TCP - Vic trao i thng tin gia client v server phi tun th theo giao thc ca ng dng Giai on 4: Kt thc phin lm vic

Chng 1

5. SOCKET
5. 4 M hnh Client Server s dng TCP -Cc cu lnh read(), write() c th c thc hin nhiu ln -Knh o s mt i khi server hoc client thc hin ng socket bng lnh close()

Chng 1

5. SOCKET
5. 4 M hnh Client Server s dng TCP Ton b qu trnh

Chng 1

5. SOCKET
5. 5 M hnh Client Server s dng UDP Chng trnh server ch lp Giai on 1: Server to socket, gn s hiu cng

-socket() server yu cu mt socket c th s dng cc dch v ca tng vn chuyn -bind() server yu cu gn s hiu cng cho socket

Chng 1

5. SOCKET
5. 5 M hnh Client Server s dng UDP Giai on 2: client to socket

-socket() client yu cu to mt socket c th s dng cc dch v ca tng vn chuyn, thng thng h thng t ng gn mt s hiu cng cn rnh cho socket ca client

Chng 1

5. SOCKET
5. 5 M hnh Client Server s dng UDP Giai on 3: trao i thng tin gia client v server

-Sau khi to socket(), client v server c th trao i thng tin vi nhau thng qua hai hm sendto() v recvfrom(),

Chng 1

5. SOCKET
5. 6 M hnh Client Server s dng TCP/UDP Chng trnh server ch ng thi s dng TCP - To socket(), ng k a ch socket vi h thng, - t socket trng thi ch, lng nghe kt ni - Khi c request t client, chp nhn kt ni, to mt process con x l. Quay li trng thi ch, lng nghe kt ni mi - Cng vic ca proccess mi gm: Nhn thng tin kt ni ca client Giao tip vi client theo giao thc thit k ng kt ni v kt thc proccess con

Chng 1

5. SOCKET
5. 6 M hnh Client Server s dng TCP/UDP Chng trnh server ch ng thi s dng UDP -To socket -Lp vic nhn d liu t client, i vi mt d liu nhn to proccess (qu trnh) x l, tip tc nhn d liu t client -Cng vic ca proccess mi:
Nhn thng tin ca proccess cha truyn n, ly thng tin socket X l v gi thng tin v cho client theo giao thc lp ng dng thit k Kt thc

You might also like