Bai Tap Lap Trinh Mang

Embed Size (px)

Citation preview

TRNG I HC BCH KHOA

KHOA CNG NGH THNG TIN

B MN MNG V TRUYN THNG

BI TP THC HNH LP TRNH MNG

Nng 2012

Bi tp thc hnh lp trnh mng

Chng 1.1.1. Bi 1

URL

bi: Vit chng trnh x l chui nhp, dng n khi to i tng URL v tr v thuc tnh ca n Chc nng chng trnh: Truy cp vo URL, sau in cc thng tin ca ti nguyn nh: o Tn file o Tn host o S hiu cng o Kiu giao thc (https hoc http hoc ftp) C ch: Client gi yu cu n SERVER SERVER tr v thng tin ti nguyn Client xut ra console

Kt qu:

1.2. Bi 2 bi: To ra 2 ng dng c lp. ng dng u tin nhn cu lnh cho bng students c thuc tnh: name, id v age thm vo bng. Cn ng dng th hai th in ra mn hnh thng tin t bng students trn Add Student Chc nng chng trnh: Kt ni c s d liu Trang 2

Bi tp thc hnh lp trnh mng

-

Thm mt trng vo c s d liu To kt ni n Driver ca h qun tr c s d liu T , thc thi cu lnh x l CSDL Kim tra vic thm c thnh cng hay ko, nu ko th bo li Lp cha hm main, ko c thuc tnh v phng thc g khc To i tng Connection kt ni n Driver ca h qun tr CSDL, nu vic load driver khng thnh cng th thot chng trnh To i tng Statement thc thi cu lnh x l CSDL ( y l Insert), s dng phng thc execute thc thi cc lnh khng cn truy vn, i s tr v l kiu int, tr v 1 nu thnh cng, v gi tr khc th tht bi

C ch:

Cc lp v chc nng cc lp:

Get Students Chc nng chng trnh: Kt ni CSDL Truy vn To kt ni n Driver ca h qun tr c s d liu T , thc thi cu lnh truy vn CSDL Xut kt qu ra mn hnh Tng t nh lp AddStudent, khi to Statement th s dng phng thc excecuteQuery thay v execute, kiu tr v l ResultSet T ResultSet tr v, hin th n ln mn hnh

C ch:

Cc lp v chc nng cc lp:

Kt qu v d minh ha:

Trang 3

Bi tp thc hnh lp trnh mng

1.3. Bi 3 bi: To ra hai ng dng c lp (mt client v mt server). Client chp nhn mt trong cc s sau: 1, 2, 3. S ny s c gi n server. Server s tr li tng ng : ONE hoc TWO hoc THREE (ty theo s nhn c). Dng giao thc TCP/IP Chc nng chng trnh: Client gi s bt k n SERVER Nu l s 1,2,3 th tr v ONE,TWO,THREE, cc trng hp cn li tr v UNKNOWN SERVER m cng client truy xut n To cc lung nhp xut khi c client truy cp n (c client v SERVER), lc ny client v server c th gi thng tin qua li ln nhau Client truy cp vo, sau gi thng tin n server Server nhn c thng tin, ri x l, sau gi tr li client Client hin th thng tin m server tr v

C ch: -

Cc lp v chc nng cc lp: NumberTCPSimpleServer Lp ny c phng thc go(), chc nng ca n: o M cng ca server, to kt ni mi khi c client kt ni o Ch nhn d liu t Client gi ln o X l d liu o Tr v client Phng thc main ca lp ny to ra i tng thuc lp NumberTCPSimpleServer, sau gi phng thc go() ca lp ny Phng thc khi to ca lp ny c i s l chui v a ch ca server Phng thc go(): o To kt ni n a ch v s hiu cng ca server o To cc lung nhp xut lin kt vi server

NumberTCPSimpleClient -

Trang 4

Bi tp thc hnh lp trnh mng

o a d liu cn gi hoc nhn vo cc lung ny o Gi d liu n server o Nhn d liu (sau khi server x l) ri hin th ln mn hnh Kt qu: SERVER

Client

Trang 5

Bi tp thc hnh lp trnh mng

Chng 2.2.1. Bi 1

TCP & UDP Socket

bi: Vit chng trnh lit k ton b ni dung ca bt k trang web no trn net Chc nng chng trnh: Hin th thng tin ton b trang web ca bt k trang web no di dng text n thun Gi a ch URL Web server tr li thng tin Truy xut n thng tin cn thit v hin th Ch gm mt phng thc main: o Lin kt n URL vi a ch c nhp vo o S dng phng thc getContent() ca i tng URL nhn ton b ni dung ca trang web o c ton b ni dung v hin th ln mn hnh Kt qu: URL = http://tinchi.dut.edu.vn

C ch: -

Cc lp v chc nng cc lp:

Trang 6

Bi tp thc hnh lp trnh mng

2.2. Bi 2 bi: Vit chng trnh gi n URL mt chui, m kt ni t URL ny v hin th thng tin header Chc nng chng trnh: M kt ni n a ch URL Hin th thng tin cc header nhn c Truy xut n a ch URL To kt ni n n Ly thng tin v Header Hin th ln mn hnh Cng ch c phng thc main: o To URL kt ni n a ch nhp vo o M kt ni (s dng phng thc openConnection ca i tng URL) o Ly thng tin header (dng phng thc getHeaderField, getHeaderFieldKey ca i tng URLconnection) o Hin th thng tin header o In thng bo li nu c li xy ra Kt qu: URL = http://tinchi.dut.edu.vn

C ch:

Cc lp v chc nng cc lp:

2.3. Bi 3 bi: Vit chng trnh in ra a ch ca localhost (a ch cc b), null host v a ch bt k trn internet Chc nng chng trnh: Trang 7

Bi tp thc hnh lp trnh mng

-

Hin th thng tin v a ch cc b, a ch null v a ch bt k trn internet

C ch: Cc lp v chc nng cc lp: To i tng InetAddress S dng phng thc getLocalHost() ly thng tin v a ch cc b v hin th n S dng phng thc getByName(null) ly thng tin v a ch null v hin th n S dng phng thc getByName(URL) ly thng tin v a ch URL ca mt website v hin th n Hin th li nu c

Kt qu:

2.4. Bi 4 bi: Vit chng trnh m kt ni dng i tng URL v kim tra cc thuc tnh v ni dung ca ti nguyn nhn c. Chc nng chng trnh: Hin th cc thng tin v ti nguyn nhn c trn internet nh ngy to, ngy chnh sa sau cng, ngy ht hn

C ch: Cc lp v chc nng cc lp: Tng t nh Net3, thay v s dng phng thc getHeaderField th s dng getDate(), getContentType() ca i tng URLConnection thay th Duyt ht ton b ni dung v hin th ra mn hnh

-

Kt qu: URL = http://tinchi.dut.edu.vn

Trang 8

Bi tp thc hnh lp trnh mng

2.5. Bi 5 bi:Vit ng dng minh ha gi d liu n server v client x l n V d hai chng trnh c lp chy trn JAVA: chng trnh client v chng trnh server. Chng trnh client thc thi mt lp KnockKnockClient. Chng trnh server thc thi hai lp: KnockKnockServer v KnockKnockProtocol. KnockKnockServer cha phng thc main cho chng trnh server v m cng, kt ni v c, gi d liu n socket, cn KnockKnockProtocol x l jokes. N theo di cc joke hin ti, trng thi hin ti (gi knock knock, gi clue, v.v). v tr v gi tr khc nhau ca joke ca trng thi hin ti. i tng thc thi giao thc xc inh ngn ng giao tip gia client v server Chc nng chng trnh: Mt chng trnh vui nhn, trao i thng ip client-server qua li ln nhau, ta nh chat hoc game Dng c ch client/server gi nhn thng ip Khi client v server kt ni vi nhau th Server s hin th Knock!Knock! Nu ngi s dng gi Whos there?, server s gi tn hin ti ca ngi trong chui clues vi ch s l currentJoke l ch s ca ngi hin ti

C ch: Cc lp v chc nng cc lp:

Trang 9

Bi tp thc hnh lp trnh mng

-

Nu tip tc gi tn ca ngi hin ti + who? (Tc l hi h l ai), th n kt hp vi chui answers tr li cho client Server s hi c mun tip tc khng, nu client ng th n s chuyn n ngi tip theo l ngi hin hnh, c nh vy cho n khi ngi s dng khng mun tip tc na SERVER

Kt qu:

CLIENT

Trang 10

Bi tp thc hnh lp trnh mng

Chng 3.3.1. Bi 1

Multicast & Broadcast Programming

bi: Xy dng chng trnh multicast theo mu bn di Chc nng chng trnh: Tham gia vo group ca multicast Gi d liu n a ch multicast Nhn d liu t multicast Hin th ln mn hnh Ch cn cc client tham gia vo group ca a ch multicast ny th khi c d liu c gi vo th tt c client u nhn c Tham gia vo group ca a ch multicast Gi d liu n a ch multicast (Lc ny cc client mun nhn c th phi tham gia vo group ca multicast th mi nhn c) V trong chng trnh cng tham gia vo group multicast nn n cng s nhn c d liu khi c client gi vo a ch ny Chy chng trnh gm 2 i s: i s u tin l d liu cn gi i, i s th 2 l a ch multicast Ch gm mt phng thc main(): To cng lin kt n multicast Tham gia vo group multicast Chuyn i s th nht thnh mng byte, ri to i tng DatagramPacket gi d liu i (gi phng thc send ca i tng DatagramPacket) Gi phng thc receive nhn d liu t a ch multicast Ri khi nhm multicast khng nhn d liu t a ch ny na

C ch: -

Cc lp v chc nng cc lp: -

Trang 11

Bi tp thc hnh lp trnh mng

Kt qu:

3.2. Bi 2 bi: Xy dng chng trnh broadcast (qung b) Chc nng chng trnh: Server gi d liu n a ch multicast nhiu client c th nhn c Cc client hin th cc thng tin nhn c t server Server c tng dng d liu t file one-liners.txt Vi mi dng d liu, gi n n a ch multicast l 230.0.0.1, mi ln gi server tm dng vi giy (l bi s ca 5) Tt c cc client tham gia vo multicast trn s nhn c d liu t server gi n (bnh thng nu theo c ch TCP s lm kh hn) Client hin th n ln mn hnh ca mnh, trong chng trnh c thit k ch nhn 5 dng

C ch:

Cc lp v chc nng cc lp: Lp QuoteServerThread: C 2 phng thc khi to, khng c i s hoc c 1 i s l tn Trong phng thc khi to, m cng 4445, thc t cng s bao nhiu khng quan trng trong trng hp ny, v n ch gi n a ch multicast, c d liu t file one-liners.txt Phng thc getNextQuote() c tng dng d liu trong file, tr v gi tr chui tm c hoc No more quote. Good bye! nu khng tm thy K tha t lp QuoteServerThread c tng dng d liu Vi mi dng d liu th x l: o Gi dng d liu n a ch multicast o Tm dng mt thi gian (bi s ca 5) giy Lp MulticastServer: To i tng MultiserverThread v start n Trang 12

-

Lp MultiserverThread: -

Bi tp thc hnh lp trnh mng

Lp MulticastClient: Tham gia vo group multicast ca a ch 230.0.0.1 Nhn d liu t server gi n Hin th n trn mn hnh Chng trnh client c thit k nhn 5 dng d liu

Kt qu:

Client 1

Client 2

Server

Trang 13

Bi tp thc hnh lp trnh mng

Trang 14