You are on page 1of 9

I HC NNG

TRNG I HC BCH KHOA


KHOA CNG NGH THNG TIN

n Lp trnh mng
ti: Xy dng chng trnh chat trong LAN
s dng giao thc TCP/IP
GVHD:
Sinh vin thc hin:
Lp:

ng Duy Thng
Nguyn Vn Tuyn
Nguyn Th nh Tuyt
11TLT.CNTT

NNG 12/2012

n Lp trnh mng

MC LC
Chng 1: M U.....................................................................................................3
1.1 L do chn ti:................................................................................................3
1.2 Mc ch ca ti:.............................................................................................3
1.3 i tng v phm vi nghin cu........................................................................3
1.3.1 i tng nghin cu...................................................................................3
1.3.2 Phm vi nghin cu.......................................................................................3
Chng 2: KIN THC NG DNG.........................................................................4
2.1 nh ngha TCP/IP: ............................................................................................4
2.2 S lc v lp trnh Socket:.................................................................................4
2.2.1 Khi nim a ch v cng (Address & Port)................................................4
2.2.2 Lp IPAddress..............................................................................................5
2.3 S lc v lp trnh a lung:..............................................................................5
2.3.1 Khi nim Lung (Thread)............................................................................5
2.3.2 ng b ha trong lp trnh a lung............................................................7
Chng 3: PHN TCH THIT K CHNG TRNH..............................................8
3.1 Phn tch..............................................................................................................8
3.1.1 Phn tch nhu cu thc tin:..........................................................................8
3.1.2 Yu cu ra:...............................................................................................8
Chng 4: KT LUN.................................................................................................9
4.1 Kt qu t c..................................................................................................9

Nguyn Vn Tuyn - Nguyn Th nh Tuyt


2

n Lp trnh mng

Chng 1:

M U

1.1 L do chn ti:


Hin nay, mng Lan c nhng tin b vt bc v ngy cng ph bin hn
trong cng vic v i sng. iu ny lm cho nhu cu lin lc v trao i thng tin
thng qua mng Lan ngy cng ln hn. Chnh v vy, chng trnh Chat trn mng
Lan c xy dng p ng phn no nhng nhu cu cp thit .

1.2 Mc ch ca ti:
Xy dng chng trnh Chat hot ng trong mng Lan vi cc chc nng c
bn nh: gi tin nhn, to mt nhm Chat v lu thng tin bn b.

1.3 i tng v phm vi nghin cu


1.3.1 i tng nghin cu
Tm hiu c c ch hot ng ca Socket v Thread trong Java t
vit ng dng Chat trong mng Lan.
1.3.2 Phm vi nghin cu
Chng trnh Chat c xy dng vi kh nng gi cc c vn bn
qua li gia cc user thng qua s iu khin ca mt Server trong mng Lan.

Nguyn Vn Tuyn - Nguyn Th nh Tuyt


3

n Lp trnh mng

Chng 2:

KIN THC NG DNG

2.1 nh ngha TCP/IP:


cc my my tnh c th lin lc vi nhau qua mng, chng phi s
dng cng 1 ngn ng hay cn gi l 1 giao thc (Protocol). Giao thc l 1
h lut v chun cho php cc my tnh trong mng lin lc vi nhau.
-

TCP/IP l vit tt ca Transmission Control Protocol (Giao thc iu

Khin Truyn Thng)/ Internet Protocol (Giao thc Internet).


-

TCP/IP khng ch gm 2 giao thc m thc t n l tp hp ca nhiu

giao thc. Chng ta gi l 1 H Giao Thc hay B Giao Thc (Suite Of


Protocols).

2.2 S lc v lp trnh Socket:


2.2.1 Khi nim a ch v cng (Address & Port)

Nguyn l:
Trong mt my c rt nhiu ng dng mun trao i vi cc ng dng
khc thng qua mng (v d trn c 2 ng dng trong my A mun trao i
vi vi 2 ng dng trn my B).
Mi my tnh ch c duy nht mt ng truyn d liu ( gi v nhn).
Vn : Rt c th xy ra "nhm ln" khi d liu t my A gi n my B th
khng bit l d liu gi cho ng dng no trn my B?
Gii quyt: Mi ng dng trn my B s c gn mt s hiu (m ta vn quen
gi l cng : Port), s hiu cng ny t 1..65535. Khi ng dng trn my A
mun gi cho ng dng no trn my B th ch vic in thm s hiu cng
(vo trng RemotePort) vo gi tin cn gi. Trn my B, cc ng dng ch
vic kim tra gi tr cng trn mi gi tin xem c trng vi s hiu cng ca
mnh ( c gn - chnh l gi tr Localport) hay khng? Nu bng th x l,
cn tri li th khng lm g (v khng phi l ca mnh).

Nguyn Vn Tuyn - Nguyn Th nh Tuyt


4

n Lp trnh mng

Nh vy: Khi cn trao i d liu cho nhau th hai ng dng cn phi bit
thng tin ti thiu l a ch (Address) v s hiu cng (Port) ca ng dng kia.
2.2.2 Lp IPAddress
Trn Internet mi mt trm (c th l my tnh, my in, thit b ) u c mt
nh danh duy nht, nh danh thng c gi l mt a ch (Address). a ch
trn Internet l mt tp hp gm 4 con s c gi tr t 0-255 v cch nhau bi du
chm.
th hin a ch ny, ngi ta c th vit di cc dng sau:
Tn : V d May01, Server, .
a ch IP nhng t trong mt xu: "192.168.1.1", "127.0.0.1"
t trong mt mng 4 byte, mi byte cha mt s t 0-255. V d biu din
a ch 192.168.1.1 vi khai bo byte[] DiaChi = new byte[4];, ta c th vit:
DiaChi(0) = 192;
DiaChi(1) = 168;
DiaChi(2) = 1;
DiaChi(3) = 1;
Hoc cng c th l mt s (long), c di 4 byte. V d, vi a ch
192.168.1.1 trn th gi tr s l: 16885952 (y l s h thp phn khi
xp lin 4 byte trn li vi nhau 00000001 00000001 10101000 11000000
1 (Byte 0) 1
168
192 (Byte 3)
Nh vy, i mt a ch chun ra dng s ta ch vic tnh ton cho tng
thnh phn. V d: i a ch 192.168.1.2 ra s, ta tnh nh sau :
2 * 256 ^ 3 + 1* 256 ^ 2 + 168 * 256 ^ 1 + 192 * 256 ^ 0

2.3 S lc v lp trnh a lung:


2.3.1 Khi nim Lung (Thread)
Mt lung (Thread) l mt chui lin tip nhng s thc thi trong chng
trnh. Trong mt chng trnh Java, vic thc thi bt u bng phng thc main() v
Nguyn Vn Tuyn - Nguyn Th nh Tuyt
5

n Lp trnh mng

tip tc cho n khi kt thc hm main(). Cu trc ny rt hay cho nhng chng
trnh c mt chui xc nh nhng nhim v lin tip. Nhng thng th mt chng
trnh cn lm nhiu cng vic hn vo cng mt lc. V d trong Internet Explorer khi
ta ang ti mt trang web th ta nhn nt back hay mt link no , lm vic ny
Internet Explorer s phi lm t nht l 3 vic:
Ly d liu c tr v t Internet cng vi cc tp tin i km.
Th hin trang Web.
Xem ngi dng c nhp lm th g khc khng.
n gin vn ny ta gi s Internet Explorer ch lm hai cng vic:
Trnh by trang Web.
Xem ngi dng c nhp g khng.
thc hnh vic ny ta s vit mt phng thc dng ly v th hin trang
Web. Gi s rng vic trnh by trang Web mt nhiu thi gian (do phi thi hnh cc
on javascript hay cc hiu ng no ). V vy sau mt khong thi gian ngn
khong 1/12 giy, phng thc s kim tra xem ngi dng c nhp g khng. Nu c
th n s uc x l, nu khng th vic trnh by trang s c tip tc. V sau 1/12
giy vic kim tra s c lp li. Tuy nhin vit phng thc ny th rt phc tp do
ta s dng kin trc event trong Window ngha l khi vic nhp xy ra h thng s
thng bo cho ng dng bng cch a ra mt event. Ta s cp nht phng thc
cho php dng cc event:
Ta s vit mt b x l event p ng i vi vic nhp ca ngi dng.
Ta s vit mt phng thc ly v trnh by d liu. Phng thc ny c
thc thi khi ta khng lm bt c iu g khc.
Ta hy xem cch phng thc ly v trnh by trang web lm vic: u tin n
s t nh thi gian. Trong khi n ang chy, my tnh khng th p ng vic nhp
ca ngi dng . Do n phi ch n vic nh thi gian gi phng thc
kim tra vic nhp ca ngi dng, ngha l phng thc va chy va quan st thi
gian. Bn cnh n cn phi quan tm n vic lu tr trng thi trc khi n gi
phng thc khc sau khi phng thc khc thc hin xong n s tr v ng ch
n dng. Vo thi Window 3.1 y thc s l nhng g phi lm x l tnh
Nguyn Vn Tuyn - Nguyn Th nh Tuyt
6

n Lp trnh mng

hung ny. Tuy nhin NT3.1 v sau l Windows 95 tr i c vic x l a


lung iu ny lm vic gii quyt vn tin li hn. Di y chng ta s tm hiu
mt vi lp c bn trong ngn ng lp trnh C# v vn ng b ha
(Synchronization) trong lp trnh a lung.
2.3.2 ng b ha trong lp trnh a lung
2.3.2.1

ng b ha

i khi c th bn mun iu khin vic truy cp vo mt ngun lc, chng


hn cc thuc tnh hoc cc hm ca mt i tng, lm th no ch mt mch trnh
c php thay i hoc s dng ngun lc m thi. Vic ng b ha c th
hin thng qua mt ci kha c thit lp trn i tng, ngn khng cho lung no
truy cp khi mch trnh i trc cha xong cng vic.

Nguyn Vn Tuyn - Nguyn Th nh Tuyt


7

n Lp trnh mng

Chng 3:

PHN TCH THIT K CHNG TRNH

3.1 Phn tch


3.1.1 Phn tch nhu cu thc tin:
Hin nay, mng Lan pht trin rt mnh c trong trng hc, cc c quan t
chc v c cc h gia nh. Chnh iu ko theo nhu cu lin lc trao i thng
tin trong mng Lan cng pht trin theo. Chnh v vy, mt chng trnh Chat phc v
cho nhu cu lin lc, trao i thng tin trong mng Lan l rt cn thit.
3.1.2 Yu cu ra:
Yu cu t ra l xy dng chng trnh Chat hot ng trong mng Lan
s dng Socket v Multithreading i hi cc chc nng nghip v sau:

Chat gia hai ngi vi nhau: Hai ngi gi thng ip

qua li cho nhau.

Chat nhm

Nguyn Vn Tuyn - Nguyn Th nh Tuyt


8

n Lp trnh mng

Chng 4:

KT LUN

4.1 Kt qu t c
ti Chng trnh Chat thc hin c cc ni dung sau:
Tm hiu c cch thc lp trnh Socket v lp trnh a lung trn mi
trng Java
Tm hiu c cch thc hot ng ca mt chng trnh Chat n
gin.

Nguyn Vn Tuyn - Nguyn Th nh Tuyt


9

You might also like