lập trình mạng- phan minh tuấn

188
L o g o Giảng Viên: Phạm Minh Tuấn ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN Lập Trình Mạng Môn học Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa

Upload: doan-ngoc-sau

Post on 19-Nov-2015

252 views

Category:

Documents


60 download

DESCRIPTION

slide bài giảng môn Lập Trình Mạng

TRANSCRIPT

PowerPoint Template

Ging Vin:Phm Minh Tun

I HC BCH KHOA I HC NNGKHOA CNG NGH THNG TINLp Trnh MngMn hcPhm Minh TunKhoa CNTT - i Hc Bch Khoa

L o g o

I T FGii thiuPhm Minh TunE-mail: [email protected]: 0913230910Khoa Cng ngh thng tin Trng HBK HN

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTha thuni vi gio vin:Dy tt c ni dung ca mn hc.Tr li cc cu hi ca hc sinh trong v ngoi gi ging lin quan ti mn hc.Ra bi tp cho hc sinhLn lp ng gi

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTha thun (tip)i vi hc sinh:Tham gia trn 80% s tit hc.Tham gia ng gp tit hc nh pht biu, tr li hay t cu hi cho gio vin (khng ni chuyn ring)Lm bi tp y .Ln lp ng gi (khng c i tr hn gio vin qu 5 pht)Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FMc tiu mn hcHiu c cc giao thc mng.Lp trnh giao thc mngLp trnh a lungLp trnh vi c s d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FNi dung mn hcKhi nim chungKin Trc MngLp trnh mngi tng lp trnh mngPhm viCc loi mngH iu hnhUnix, Linux, WindowsPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FNi dung mn hc (tt)Cc m hnh mngNguyn tc truyn thngM hnh truyn thngPhng php phn tngNguyn tcM hnh 7 tng OSIM hnh 4 tng TCP/IPM hnh thu gn 3 tngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FNi dung mn hc (tt)M hnh ng dng client/serverThnh phn v chc nngCch hot ngc trng m hnh ng dng client/serveru nhc imClient/server 2 lpClient/server 3 lpGiao thc cho ng dng

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FNi dung mn hc (tt)Lp trnh vi TCPLp trnh vi UDPLp trnh a tuyn(lung)Lp trnh vi CSDLPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FBi 1:Khi nim chungPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKin Trc MngCc topologyL cu hnh kt ni vt lKin trc phn tngH thng cc tng giao thc mng gmCc thc th phn cngPhn mmm bo hot ng ca h thngVd: OSI hay TCP/IPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLp trnh mngi tng lp trnh mngCc thc th phn mm thc thi giao thc trong h thng mngc xy dng trn nn tng h thng my tnhPhn cng v h iu hnh,kin trc phn tng mngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLp trnh mng (tt)Vy, LT mng?To ra cc thc th phn mm hot ng trn mt tngS dng cc thc th tng k diCung cp dch v cho cc thc th tng k trnCh yu, to cc thc th phn mm tng ng dngCung cp dch v cho ngi dngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FPhm vi mn hcTp trung vo cc k thut lp trnh s dng dch v ti tng transport xy dng cc ng dng mngLp trnh a lungLp trnh truyn ti thng tin vi CSDLPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FH tng truyn thngMt ng dng hay mt dch v mng cn c h tng mng bn di khi hot ng

Ty theo yu t k thut hay yu cu i vi tng ng dng m ta cn phi la chn loi mng ng dng v dch vPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc loi mngMng cc b LANBng thng (bandwidth) rngT l li thpThch hp vi cc ng dngEmailTruyn fileng dng CSDL c truy xut caong dng truyn a phng tinPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc loi mng(tt)Mng din rng WANC nhiu k thut lp t mng WANVD: Lease-line,Frame-relay, ISDN, ATMMi k thut c bng thng khc nhauWAN thng kt ni cc mng LAN xa nhaung WAN s dng vi mc ch truyn s liu,kt ni t xa, VoIP,Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCu hi???Bng thng l g?Ti sao phi ch n bng thng?

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FBi tpBT1: ti mt on phim c dung lng 5Mbyte bng ng dy c bng thng 1Mbps th ta phi mt bao nhiu thi gian?BT2:Gi s b phim 5Mbyte c th xem c 5 pht. Vy ti a c bao nhiu ngi c th xem phim cng mt lc m khng b git?BT3:Mt ngy trung bnh c bao nhiu lt xem phim th khng b git?Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fp nBT1: 1Mbps=0.125 Mbyte/sThi gian dl = 5 / 0.125 = 40sBT2: 5*60/40 = 7.5 7 ngiBT3:24*60*60*7 / 40= 15120 ltPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc loi mng(tt)Mng InternetL mi trng km n nh v khng an ton so vi LAN v WANCc dch v mng trn internet:Email, Web, thng mi in t, Game onlineVn v an ninh mngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FH iu hnhMt ng dng mng hot ng trn mt hoc nhiu h thng my tnh. hot ng c th ng dng cn mi trng hot ng.Mi trng quan trng nht l:H iu HnhPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FH iu hnh (tt)UnixBt u c xy dng ti phng th nghim Bell Lab.L h iu hnh a nhim, a ngi s dng v phc v truyn thng rt ttHn ch:C qu nhiu phin bnPhc tp trong qun tri hi cu hnh mnh

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FH iu hnh (tt)LINUXL mt phin bn thu nh ca UNIXC nhiu phin bnRedhat Linux, Mandrake LinuxDng cho my trm, my ch v siu my tnhL h iu hnh a nhim, a ngi dngTnh n nh caoH tr truyn thng caoMin phPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FH iu hnh (tt)WindowsL h iu hnh a nhim, a ngi s dngTnh nng h tr mng s dngC cc phin bn cho my trm, my chH tr nhiu loi dch vHn ch:Bo mt kmt n nhKhng min phPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTp giao thcTrong phm vi mn hc ny, trng tm s dng b giao thc TCP/IP vi l do:L b giao thc ph bin, c th dng:Mi loi mngLAN, WAN, InternetMi h iu hnhCc thit b phn cng

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FNgn ng lp trnh v cng cNgn ng lp trnhC/C++Java.NETBASICCng c pht trinDevCEclipseMVSPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FMt s ch v k thut LT mngLT th tcChia chng trnh thnh cc chng trnh conHm th tcLT hng i tngThit k chng trnh theo hng i tng,To th vin phc v LT mng thnh cc gi, lp i tngS dng mt s th vin i tng c snLT a tuynTn dng ti a kh nng ca b vi x lThc hin ng thi nhiu tc vLT vi CSDL

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FBi 2:Cc m hnh mngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FNguyn tc truyn thngMt my tnh tr thnh mt mi trng truyn d liu cn c cc yu t sau:Cc my tnh phi c kt ni nhau theo mt cu trc topology no .Vic chuyn d liu thc hin di nhng quy nh thng nht gi l giao thc mng (protocol).Phn chia hot ng truyn thng ca h thng thnh nhiu lp theo cc nguyn tc nht nh.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FM hnh truyn thng trong kin trc mngPhng php phn tng mngTch v xt m hnh mng thnh cc mun c lp:Gim phc tp cho vic thit k v ci t.Nguyn tcMi h thng xy dng nh mt cu trc nhiu tng v c cu trc ging nhau:S lng tng v chc nng ca cc tng.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F

D liu ch c truyn gia 2 tng k nhauBn gi: D liu t tng cao nht ln lt n tng thp nht.Bn nhn: D liu t tng thp nht ngc ln n tng cao nhtPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F

Ch c 2 tng thp nht mi c lin kt vt l vi nhau, cn cc tng trn cng th t ch c lin kt logic vi nhau.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FM hnh OSI(Open Systems Interconnection)L m hnh gm 7 tngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng vt l (physical layer)Kim sot mc thp nht vic truyn thng gia 2 nt mng.Card mng v cp mng. Truyn dy cc bt gia 2 nt.Cc nh lp trnh khng lm vic tng ny.Trch nhim ca cc nh pht trin driver phn cng v cc k s in, in t.Li c th xy ra trong qu trnh truyn d liu tng ny do in p, hay nhiu ng truyn trn mng.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng lin kt d liu(Data link layer)Chu trch nhim truyn d liu tin cy hnNhm d liu thnh cc frames.Frames tng t nh cc packet d liu, nhng chng l cc khi d liu, c c t theo kin trc phn cng.Frames c trng kim tra li truynm bo d liu b mo khng c truyn ln tng trn.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FV d v Kim tra li (error detection and correction)Bt chn l (parity bit)

Khi chn l (parity block)Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FBi tpBt1: Hy tnh kh nng(xc sut) pht hin li khi s dng bit chn l vi d liu 7 bit?

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLi giiGi s d liu khng b li1 trng hp Kim tra khng thnh cngGi s d liu b 1 bit li8 trng hp Kim tra thnh cngGi s d liu 2 bit li28 trng hp Kim tra li khng thnh cng.Gi s d liu c n bit li ?Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FBi tpBt1: Hy tnh kh nng(xc sut) pht hin li khi s dng khi chn l vi khi d liu 3x7 bit?

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng mng (Network layer)Cc frames t tng Datalink ln hoc cc segments t tng transport xung.D liu dng packetsPhn header cha cc thng tin quan trng:a ch mng (network address)nh tuyn mng (routing)Packets c gi qua li gia cc mngCc packets thng c nh tuyn khc nhauVic nh tuyn do cc routers thc hinCc lp trnh vin rt t khi lm dch v cho tng ny.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng vn chuyn (transport layer)Lin quan n vic d liu c truyn nh th noD liu dng segmentsChu trch nhimX l vic kt niPht hin li t ngiu khin lung d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng phin (session layer)Lm cho d dng vic trao i d liuQun l phin truyn thng gia cc ng dngThit lp mt phinng b mt phin Thit lp li phin nu mt phin b kt thc t ngtKhng phi tt c cc ng dng u s dng giao thc c kt niDo vy vic qun l phin khng phi lc no cng c yu cu.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng trnh by (Presentation layer)Nhim v m bo hin th v chuyn i d liuCc my tnh khc nhau c th s dng cc khiu biu din d liu khc nhauNn gii nn d liuM ha gii m d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng ng dng (Application layer)Tng cao nht trong m hnh mngHu ht cc ng dng mng c vit tng nyPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc giao thcApplicationHTTP, FTP, SMTP, NSF, Telnet, SSH, ECHO, PresentationSMB, NCP, SessionSSH, NetBIOS, RPC, Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc giao thc (tt)TransportTCP, UDP, NetworkIP, ICMP, IPXData linkEthernet, Token Ring, ISDN, Physical100BASE-T, 1000BASE-T, 802.11Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FMetadata trong mt thng ipPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fng gi d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FM hnh 4 tng TCP/IPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FM hnh phn tng thu gn 3 tngMt s m hnh c pht trinM hnh 7 tng OSIM hnh 4 tng TCP/IPXt trn phng din lp trnhM hnh truyn thng n gin 3 tng.Tng ng dngTng giao vnTng mngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FM hnh phn tng thu gn 3 tngCc thnh phn tham gia trong qu trnh truyn thngCc chng trnh ng dngCc chng trnh truyn thngCc my tnh v cc mngGi d liu cc ng dngMy tnh ging dng gi chuyn d liu cho chng trnh truyn thngChng trnh truyn thng s gi d liu cho my tnh nhnMy tnh nhnChng trnh truyn thng s tip nhn v kim tra d liuChuyn cho ng dng ang ch d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FV d m hnh truyn thng n ginPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FV d m hnh truyn thng n ginMy A:ng dng 1 cn gi mt khi d liuD liu c chuyn cho tng giao vnChia dl thnh nhiu on v ng gi thnh cc gi tin (packets)B sung thm cc thng tin iu khin (header) vo mi gi tinD liu tip tc c chuyn cho tng tip cn mng v chuyn cho my B.

My B:Tng tip cn mng s tp hp d liu v chuyn cho tng giao vnKim tra v ghp dl li thnh khi (nh tt header)Khi d liu s c chuyn ln cho tng ng dngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FBi 3:M hnh ng dng client/serverPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTng quanM hnh mng c bn nht hin nayDng ph bin ca m hnh ng dng phn tna s cc ng dng mng da theo m hnh nyThut ng client/server xut hin t u thp nin 80ng dng client/server ph binEmail, FTP, WebPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FThnh phnMt tin trnh ServerMt hoc nhiu tin trnh clientCc tin trnh clients v servers c th chy trn cng trm (host) hoc khc trm.L cc i tng logictch bit v lin lcvi nhau qua mng cng thc hin mt cng vic chungPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FChc nng tng thnh phnServerQun l ngun ti nguyn no Cung cp dch v v phn phi ti nguyn.ClientChng trnh giao tip vi ngi s dngCn yu cu v ti nguynMt tin trnh c th va l server va l clientPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCch hot ngClientKhi to lin lc vi server (speaks first)Yu cu dch v no t serveri vi Web, client c hin thc trong browserPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCch hot ngServerCung cp dch v yu cu cho clientChng hn, Web server gi Web yu cu hay mail server phn pht emailPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F

V d FTP: The File Transfer ProtocalPhm Minh TunKhoa CNTT - i Hc Bch Khoa

file transfer

I T Fc trng ca m hnh ng dng C/SHot ng theo kiu giao thc bt i xngTh hin quan h mt chiu gia client v mt serverClient bt u phin hi thoi bng cch yu cu dch vServer sn sng ch cc yu cu t clientPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fc trng ca m hnh ng dng C/Sng gi dch vServer nh mt chuyn giaHon thnh tc v p ng li cc yu cu t clientServer c th c nng cp m khng nh hng n clientTnh ton vnM v d liu i vi server c bo tr tp trungGim chi ph v bo v s ton vn ca d liu chungClient duy tr tnh c nhn v c lp

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fu im ca m hnh UD C/STnh tp trung(Centralization)Truy cp ti nguyn v bo mt d liuTp trung thng qua serverTnh co gin (Scalability)Nng cp bt c thnh phn no khi cn thitTnh mm do (Flexibility) Cng ngh mi c th d dng tch hp vo h thngTnh trao i tng tc (Interoperability)Tt c cc thnh phn (clients, mng, servers) cng nhau lm vicPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FNhc im ca m hnh UD C/SQun tr h thng kh khnDuy tr thng tin cu hnh lun cp nht v nht qun gia tt c cc thit bNng cp phin bn mi kh ng bPh thuc tin cy ca mngChi ph thit k, ci t, qun tr v bo tr caoPhi gii quytS xung t trong h thngTnh tng thch ca cc thnh phnVic cu hnh h thngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FS phn lp trong m hnh UD C/SMi ng dng mng client/server u c 3 khi chc nngKhi biu din hay giao din ngi dngKhi nghip v: thut ton iu khin thng tin gia khi biu din v khi d liuKhi d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKin trc UD C/S 2 lp (2-tier)Khi nghip v (business logic)c t bn trong lp giao din ngi dng ti client, hocc t bn trong CSDL

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKin trc UD C/S 3 lp (3-tier)Pht trin vo thp nin 90H thng ln v n nhM rng m hnh 2 lp: Tch bit khi nghip vNng cao hiu nng (performance),Tnh linh hot (flexibility),Kh nng bo tr (maintainability),Kh nng dng li (reusability)Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKin trc UD C/S 3 lp (3-tier)Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKin trc UD C/S 3 lp (3-tier)Lp trn cngCha giao din dch v cho ngi dngLp di cngCha chc nng qun tr CSDLLp trung gianCha khi nghip vCc tin trnh x liu khin cc giao dch v cc hng iGi cc yu cu t client n csdlc xem nh proxy serverPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fng dng client/server 3 lpng dng WebLp trn cng: Web browserLp trung gian: Web server engineLp di cng: H CSDLng dng Struts doc JSF (trong Java)Lp trn cng: ViewsLp trung gian: ControllersLp di cng: ModelsKin trc client/server n lp (n-tier)Lp trung gian c chia thnh nhiu n v nhPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FGiao thc cho D client/serverGiao thc?L tp cc khun dng bn tin, tp cc trng thi, quy tc, quy c trong truyn thng gia client v server.Khi to mt ng dng client/ververPhi thit k giao thcCc giao thc ph bin FTP, HTTP, c IETF (Internet Engineering Task Force) chun ha thnh cc giao thc chun.Lp trnh CSDLc h tr v quy nh bi h qun l csdl v cc th vin lp trnh.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FPhn loi giao thcGiao thc ng b (Synchronous protocol)Truyn thng gia client v server din ra theo 2 chiu nhng khng ng thic thc hin ln ltCc giao thc kiu ny l: HTTP SMTP, POP3Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FPhn loi giao thcGiao thc khng ng b (Asynchronous protocol)Client v verver c th ng thi gi thng tinCc giao thc ny nh TELNET, RLOGIN,

Ngoi ra, cn c loi giao thc hybrid kt hp gia cc giao thc trn

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLp trnh mng trn JavaPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLP TRNH MNG TRN JAVAGi java.netInetAddressServerSocketSocketURLURLConnectionDatagramSocketPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLP TRNH MNG TRN JAVAInetAddress classClass m t v a ch IP (Internet Protocol)Cc phng thc getLocalHost, getByName, hay getAllByName to mt InetAddress instance:public static InetAddess InetAddress.getByName(String hostname)public static InetAddess [] InetAddress.getAllByName(String hostname)public static InetAddess InetAddress.getLocalHost() ly a ch IP hay tn dng cc phng thc:getHostAddress()getHostName()Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FV d 1In a ch IP ca localhostPhm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.net.*; public class HostInfo { public static void main(String args[]) { try { InetAddress myHost = InetAddress.getLocalHost(); System.out.println(myHost.getHostAddress()); System.out.println(myHost.getHostName()); } catch (UnknownHostException ex) { System.err.println("Cannot find local host"); } }}

I T FV d 2In a ch IP ca mt a ch bt kPhm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.net.*; public class IPAddresses{ public static void main (String args[]) { try { InetAddress[] addresses = InetAddress.getAllByName(args[0]); for (int i = 0; i < addresses.length; i++) System.out.println(addresses[i]); } catch (UnknownHostException e) { System.out.println("Could not find" + args[0]); } }}

I T F LP TRNH MNG TRN JAVA

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F80

LP TRNH MNG TRN JAVASocket classClass m t v socketTo mt socketSocket(InetAddress address, int port)Socket(String host, int port)Socket(InetAddress address, int port, InetAddress, localAddr, int localPort)Socket(String host, int port, InetAddress, localAddr, int localPort)Socket()

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F81

LP TRNH MNG TRN JAVASocket class (tip theo)Ly thng tin v mt socketInetAddress getInetAddress() : tr v a ch m socket kt ni n. int getPort() : tr v a ch m socket kt ni n. InetAddress getLocalAddress() : tr v a ch cc b.int getLocalPort() : tr v a ch cc b.S dng Streamspublic OutputStream getOutputStream() throws IOException Tr v mt output stream cho vic vit cc byte n socket ny.public InputStream getInputStream() throws IOException Tr v mt input stream cho vic c cc byte t socket ny.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F82

LP TRNH MNG TRN JAVAKt ni n 1 s webserver

import java.net.*;import java.io.*;public class getSocketInfo {public static void main(String[] args) {for (int i = 0; i < args.length; i++) {try {Socket theSocket = new Socket(args[i], 80);System.out.println("Connected to " +theSocket.getInetAddress() +" on port " + theSocket.getPort() + " from port " +theSocket.getLocalPort() + " of " +theSocket.getLocalAddress());Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F83

Tip theoPhm Minh TunKhoa CNTT - i Hc Bch Khoa} catch (UnknownHostException e) {System.err.println("I can't find " + args[i]);} catch (SocketException e) { System.err.println("Could not connect to " + args[i]);} catch (IOException e) {System.err.println(e);}} // end for} // end main} // end getSocketInfos

I T FServerSocket classClass m t v ServerSocketTo mt ServerSocketServerSocket(int port) throws IOExceptionServerSocket(int port, int backlog) throws IOExceptionServerSocket(int port, int backlog, InetAddress bindAddr) throws IOExceptionPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FServerSocket class (tt)Cc phng thc trong ServerSocketSocket accept() throws IOException: Chp nhn v lng nghe mt kt ni n Socket ny.void close() throws IOException: ng socketInetAddress getInetAddress(): Tr v a ch cc b ca Socketint getLocalPort(): Tr v Local portvoid setSoTimeout(int timeout) throws SocketException

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FV d DateTime ServerPhm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.net.*;import java.io.*;import java.util.Date;public class DayTimeServer { public final static int daytimePort = 5000; public static void main(String[] args) { ServerSocket theServer; Socket theConnection; try { theServer = new ServerSocket(daytimePort);

(tt)

I T FV d DateTime ServerPhm Minh TunKhoa CNTT - i Hc Bch Khoa while (true) { theConnection = theServer.accept(); DataOutputStream dos = new DataOutputStream( theConnection.getOutputStream()); String time = new Date().toString(); dos.writeUTF(time); theConnection.close(); theServer.close(); } }catch (IOException e) { System.err.println(e); } }}

I T FLp trnh vi giao thc TCPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FGiao thc TCPL giao thc hng kt ni(connection-oriented)Truyn thng tin cyThit lp knh kt niCung cp mt knh point-to-point cho cc ng dng yu cu truyn thng tin cyCc giao thc sau l giao thc hng kt ni:HTTPFTPTelnetPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCng (Port)L mt s (nhn) c bitc gn cho mt tin trnh mngMi tin trnh mng u c gn mt cng duy nhtPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCng (Port)S cng l s 2 bytesCc s 0-1023: dnh cho cc ng dng thng dngCc s 1024-65535: l cc cng ngCc server thng s dng cc cng ni tingMc ch bt c client c th nhn bit d dng server/serviceHTTP=80, FTP=21,Telnet=23,Client thng dng cc cng ngGn thi im chy chng trnhPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCng (Port)Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F1 D s dng nhiu cng khc nhauPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FMt s cng ting (Well-known)Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fa ch IP (Addresses)Mi thc th trn mng ch c mt a ch IP duy nhtIPv4: 32 bits, to thnh t 4 octets. Vd:192.169.12.1a ch IP c chia thnh cc lp sauPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FDy a ch IP theo lpLp A: 0. 0. 0. 0 127.255.255.255Lp B: 128.0.0.0 191.255.255.255Lp C: 192.0.0.0 223.255.255.255Lp D: 224.0.0.0 239.255.255.255Lp E: 240.0.0.0 247.255.255.255

a ch 127.0.0.1 ch a ch IP my cc bPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTn min (Domain Name)Chng ta thng kh nh mt s di hn l mt tnDNS(Domain Name Server) cung cp nh x a ch sang tnV d ftp.davidreilly, www.davidreilly.com Tn min cng c nhm theo cc min con sauPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fnh x tn minPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FSocket?Mt ng dng trn mng c xc nh thng quaa ch IP duy nht m n chy trn mt h thngS hiu cng ring c gn cho n2 ng dng mng lin lc c vi nhau cn phi thit lp kt ni (connection)Mi u kt ni tng ng vi mt SocketPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FSocket?Vy Mt socket l mt u cui ca mt s truyn thng 2 chiu, lin kt gia hai chng trnh chy trn mng.Mt socket c gn vi mt s hiu cng(port), v th tng giao vn c th nhn bit ng dng m d liu c chuyn n

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc hot ng ca SocketKt ni n my xaGi d liuNhn d liung kt niGn vi mt cngLng nghe d liu nChp nhn kt ni t my xa trn cng c gnPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc kiu socketC 3 kiu socketKiu 1: Stream sockets, tng t nh in thoi kt ni n mt tng i. Gi l: kiu hng kt niVD: TCP(Transmission Control Protocol) socketm bo d liu n ch an ton v y

Kiu 2: Datagram sockets, tng t nh mailbox. Gi l: kiu phi kt ni (khng gi knh kt ni trong qu trnh truyn thng)VD: UDP(User Datagram Protocol) socket

Kiu 3: Raw socketsPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc bc to mt TCPPha ServerGn mt cng vi SocketCh v lng nghe yu cu kt ni t clientChp nhn kt ni, to Socket tng ngTruyn nhn d liu thng qua cc streams in/out ca i tng Socketng kt ni

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc bc to mt TCPPha ClientTo mt TCP socket vi a ch IP v s cng m chng trnh Server ang chyThit lp kt ni n ServerTrao i d liu vi Serverng kt ni

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc bc to mt TCPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FM t qu trnh trao i d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FV d DateTime ServerPhm Minh TunKhoa CNTT - i Hc Bch Khoapublic class DayTimeServer { public final static int daytimePort = 5000; public static void main(String[] args) { ServerSocket theServer; try { theServer = new ServerSocket(daytimePort); while (true) { Socket theConnection = theServer.accept(); DataOutputStream dos = new DataOutputStream( theConnection.getOutputStream()); String time = new Date().toString(); dos.writeUTF(time); theConnection.close(); } }catch (IOException e) {} }}

I T FDateTime ClientPhm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.io.DataInputStream;import java.io.DataOutputStream;import java.net.Socket;public class TimeClient {public static void main(String[] args) throws Exception {Socket socket = new Socket("localhost", 5000);DataInputStream din = newDataInputStream(socket.getInputStream());String time = din.readUTF();System.out.println(time);}}

I T FThreaded ServerV d va ri ch ng vi mt client kt ni n server ti mt thi im cho php nhiu client c th kt ni n server cng lc th server phi l chng trnh a tuynMi tuyn ng vi mt kt ni t client.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FThreaded ServerPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FBi tpPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLp trnh vi UDP SocketPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FGiao thc UDPUDP (User Datagram Protocol) l giao thc m cho php gi cc gi(packets) d liu c lp, gi l datagrams, t mt my tnh n mt my tnh khcKhng m bo ton vn d liu.UDP l giao thc phi kt ni(tc khng gi knh trong qu trnh truyn)

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FGiao thc UDPUDP khng cung cp c ch bo nhnUDP khng sp xp tun t cc gi tin (datagram) n v c th dn n tnh trng mt hoc trng d liu m khng c c ch bo li cho ngi giGi datagrams tng t nh gi 1 bu kin thng qua dch v bu in: th t pht gi tin khng quan trng v khng bo mMi thng ip c lp vi cc thng ip khc.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fng dng ph bin ca UDPDNS (Domain Name System),ng dng streaming mediaVoice over IPTrivial File Transfer Protocol (TFTP)Game trc tuynPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKhun dng UDP datagramsUDP datagrams c tham s n gin hn nhiu so vi TCPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FHeader ca IP trong TCPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKhun dng UDP datagramsSource portTrng ny xc nh cng ca ngi gi thng tin v c ngha nu mun nhn thng tin phn hi t ngi nhn. Destination port:Trng xc nh cng nhn thng tin.Length: Chiu di ca ton b datagramChecksumTrng checksum 16 bit dng cho vic kim tra li ca phn header v d liu.

Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FTnh nng ca UDPUDP cng cung cp c ch gn v qun l cc s hiu cng.Do t chc nng phc tp nn UDP thng c xu th hot ng nhanh hn so vi TCPUDP thng dng cho cc ng dng khng i hi tin cy cao trong khi truynPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T Fu nhc im ca UDPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FKhi no s dng UDPRt nhiu ng dng trn Internet s dng UDP. Da trn cc u v nhc im ca UDP chng ta c th kt lun UDP c ch khi:S dng cho cc phng thc truyn broadcasting v multicasting khi chng ta mun truyn tin vi nhiu host.Kch thc datagram nhKhng cn thit lp lin ktKhng cn truyn li cc gi tinng dng khng gi cc d liu quan trngBng thng ca mng ng vai tr quan trngPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FCc bc to ng dng UDP socketng dng UDP socket khng thit lp kt ni nh TCPClientSocket, to mt im cui truyn thng pha clientTruyn v nhn d liuServerSocket, to mt im cui truyn thng pha serverGn mt cng n kt niTruyn nhn d liuPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLu Client khng thit lp kt ni n serverKt ni khng cn thit

Server khng chp nhn kt niCh v lng nghe khng cn thitKhng tn ti chp nhn kt niPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FLp trnh Socket vi UDPPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FV d chng trnh Java: ClientPhm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.util.*;import java.net.*;public class UDPClient{public static void main(String args[]) throws Exception{Scanner input=new Scanner(System.in);DatagramSocket clientSocket = new DatagramSocket();InetAddress IPAddress = InetAddress.getByName("localhost");byte[] sendData = new byte[1024];byte[] receiveData = new byte[1024];

String sentence = input.nextLine();sendData = sentence.getBytes();DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length,IPAddress, 8876);clientSocket.send(sendPacket);DatagramPacket receivePacket = new DatagramPacket(receiveData, sentence.length());clientSocket.receive(receivePacket);String modifiedsentence = new String(receivePacket.getData());System.out.println("From Server:"+modifiedsentence);clientSocket.close();}}

I T FV d chng trnh Java: ServerPhm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.net.*;public class UDPServer{public static void main(String args[]) throws Exception{DatagramSocket serverSocket = new DatagramSocket(8876);byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024];while(true){DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);serverSocket.receive(receivePacket); String sentence = new String(receivePacket.getData());InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort(); System.out.println(""+IPAddress+","+port+":"+sentence);String capsent=sentence.toUpperCase();sendData = capsent.getBytes();DatagramPacket sendPacket =new DatagramPacket(sendData, capsent.length(), IPAddress, port);serverSocket.send(sendPacket);}}}

I T FBi tp lp trnh UDP SocketXy dng chng trnh Exchange RateExchangeRateServerKhi nhn mt chui th xc nh chui c cu trc sau hay khng:ExchangeRate+Loi tin+to+Loi tin, Loi tin: Yen, VND, USD, Nu ng th tr v cho my khch t gi(random) theo ngy gi ca h thngExchangeRateTableCp nht thng tin v t gi sau mi giy.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FURI, URL v URLConectionPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FURIURI (Uniform Resource Identifier) l mt chui k t c s dng xc nh mt tn hoc mt ti nguyn.URI nhm cho php tng tc vi cc th hin ti nguyn trn mng (World Wide Web) s dng cc giao thc c th.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

Uniform Resource Locator(URL)Uniform Resource Name(URN)

I T FURI (tt)URI c biu hin bi lp java.net.URIjava.net.URI c kh nng:Biu hinPhn tchChun haPhm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FURI (V d)Phm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.net.*;public class URITest {public static void main(String[] argv) throws Exception {URI uri1 = new URI("http://www.example.com/hoge/./moge/.././../");URI uri2 = new URI("http://www.example.com/");uri1 = uri1.normalize();

System.out.println("uri1: " + uri1);System.out.println("uri2: " + uri2);System.out.println(uri1.compareTo(uri2));}}uri1: http://www.example.com/uri2: http://www.example.com/0Kt qu

I T FURLURL (Uniform Resource Locator) c dng tham chiu ti ti nguyn trn Internet. URL mang li kh nng siu lin kt cho cc trang mng. Cc ti nguyn khc nhau c tham chiu ti bng a ch, chnh l URL.Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FURLMt URL gm c nhiu phn :URL scheme, thng l Tn giao thc (v d: http, ftp) nhng cng c th l mt ci tn khc (v du: news, mailto). Tn min (v d: http://vi.wikipedia.org)Ch nh thm cng (c th khng cn)ng dn tuyt i trn my phc v ca ti nguyn (v d: thumuc/trang)Cc truy vn (c th khng cn)Ch nh mc con (c th khng cn)Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T F

URL(V d)Phm Minh TunKhoa CNTT - i Hc Bch Khoahttp://vi.wikipedia.org:80/thumuc/trang?timkiem=cauhoi#dautien URL scheme tn min cng ng dn truy vn mc con

I T FV dPhm Minh TunKhoa CNTT - i Hc Bch Khoaimport java.net.*;public class URLTest{public static void main(String[] argv) throws Exception{URI uri = new URI("http://www.example.com/hoge/./moge/.././../");uri = uri.normalize();

URL url = uri.toURL();

System.out.println(url);}}

I T FPhn bit URI v URLURIDng xc nh mt resource no trn web, v mt tn (cch gi n nh th no) hoc a ch (n nm u, lm sao a c n v my trm!?)URLL a ch ti mt resource no .Phm Minh TunKhoa CNTT - i Hc Bch Khoa

I T FPhn bit URL v tn mini khi c th hiu nhm URL l tn min.V d URL:URL:http://www.viphanoi.com/index.php