You are on page 1of 22

I HC QUC GIA THNH PH H CH MINH

TRNG I HC BCH KHOA


KHOA KHOA HC V K THUT MY TNH

BO CO: ASSIGNMENT 1
MNG MY TNH 1

*** Ti***

Xy dng ng dng chat theo mt protocol c


cung cp sn, s dng giao thc TCP/IP
GVHD: on Vit Hng

Danh sch cc thnh vin thc hin:


stt
1
2
3

H v tn
Trn Vn Thnh
Trn Phc Sang
Vn c Thanh

MSSV
51203426
51203104
51203349

Mc Lc
I.

Chi tit cc yu cu v chc nng ca ng dng .......................................3


1.

yu cu .........................................................................................................3

2.

Chc nng ....................................................................................................3

II.

Chi tit phng n v qu trnh hin thc ng dng ..............................6

1.

Thit k server.............................................................................................6

2.

Thit k client ..............................................................................................6

3.

Thit k kt ni gia client vi client .......................................................6

III. Thit k chi tit ng dng ............................................................................6


1.

Project CN_Server .......................................................................................6

gm 3 package : Data, GUI, Server ..................................................................6


a.

Data ............................................................................................................6

gm 3 class chnh l: Client, Data, XmlParser .............................................6


b.

GUI .............................................................................................................7

giao din ca ng dng ...................................................................................7


c.

Server.........................................................................................................7

gm 3 class chnh l: ClientSocketHandler, ServerListener, Timer ..........7


2.

CN_Client ......................................................................................................7

gm package Client, Data, GUI ........................................................................7


a.

Data ............................................................................................................7

gm 3 class ........................................................................................................7
b.

GUI .............................................................................................................8

c.

Client ..........................................................................................................8

gm cc class: ...................................................................................................8
IV.

nh gi kt qu thc hin ..........................................................................8

1.

u im ........................................................................................................8

2.

Khuyt im .................................................................................................8

V. Hng dn s dng ng dng ......................................................................8

NI DUNG BO CO
I.

Chi tit cc yu cu v chc nng ca ng


dng
1. yu cu
-

2.

ng dng cho php hai ngi s dng hai my


khc nhau c th chat vi nhau
Mt ngi c th chat vi nhiu ngi khc
ng dng chat c xy dng theo m hnh lai
gia Client-server v P2P: h thng c mt server
trung tm dng cho vic ng k ngi s dng
v qun l danh mc ngi s dng ang online,
qu trnh chat c thc hin trc tip gia cc
client.
ng dng cho php truyn ti file trong qu trnh
chat gia hai ngi.
ng dng phi s dng Chat Proprocol cho trc

Chc nng
- Lp trnh socket vi hai chng trnh: chng trnh
pha Server v chng trnh pha Client c th
hin c nh sau:
- Chng trnh pha Server
+ Phng thc lng nghe v chp nhn kt ni
trn mt cng xc nh, cho php Client kt ni n.
+ Qun l cc Client , cung cp cc a ch IP ,Port
v Name ca cc Client ny vi cc client khc
chng c lin kt vi nhau
+ Lu tr danh sch cc client kt ni n
+ Tt c giao tip vi Client u thng qua Socket
- Chng trnh pha Client:

+ To mt socket kt ni n Server ti cng xc


nh m Server ang m
+ Nhn v lu tr cc danh sch cc client v m
server gi v
+ Cp nhp trng thi online hoc offline ln
server
+ C th tr chuyn vi client bng thng ip do
ngi dng nhp no t bn phm. Trong qu
trnh tr chuyn c th gi file
+ C th hin th nhng tin nhn gi v nhn
trc
+ Tt c giao tip vi server v client u thng
qua Socket

C th da theo protocol dng sn:


Server

client

To socket
Lng nghe v ch kt ni
ti
Xc nh a ch IP v Cng
ca my ch.
To socket TCP
Thit lp kt ni ti my ch
Chp nhn kt ni
To thread cp nht
trng thi ca client

Gi cc trng thi n server :


online hoc offline( cp nht
lin tc, 15s cp nht 1 ln)

Client

client

Sau to socket kt ni vi server th


to 1 server socket
Lng nghe v ch kt ni ti
Xc nh a ch IP v Cng ca client
.To socket TCP
Thit lp kt ni ti client
Chp nhn kt ni

chat

Send file
Gi yu cu send file

Gi nhn
Chat
message

Gi nhn
Chat
message

Gi yu cu send file

+ nu chp nhn
+ nu chp nhn
-To server socket
-To server socket
- Lng nghe ch kt ni
- Lng nghe ch kt ni+
+ nu khng chp nhn th nu khng chp nhn th
gi thng ip: Khng
gi thng ip: Khng
chp nhn gi file
chp nhn gi file

to kt ni vi port mi m to kt ni vi port mi
pha nhn gi
m pha nhn gi
gi file, nhn file
ng kt ni

ng kt ni
ng kt ni

Gi file, Nhn file


ng kt ni

II. Chi tit phng n v qu trnh hin thc


ng dng
-

1. Thit k server
Thit k giao din
T chc lu tr v qun l d liu ca server
To phng thc kt ni vi client
X l ring tng client sau khi kt ni thnh cng
vi server
2. Thit k client
Thit k giao din
T chc lu tr danh sch ngi dng ng nhp
To kt ni d liu vi server
3. Thit k kt ni gia client vi client
Thit k giao din
To phng thc kt ni gia cc client
X l qu trnh chat v send file sau khi kt ni
thnh cng

III. Thit k chi tit ng dng


1. Project CN_Server
gm 3 package : Data, GUI, Server
a. Data
gm 3 class chnh l: Client, Data, XmlParser
Class Client: D liu kt ni client bao gm:
- Name : tn client kt ni ti
- Port : Port client s dng

- IP : IP client s dng
- Time : Thi gian client kt ni ti
Class Data:
D liu server:
lst: Danh sch cc client kt ni ti sever
Class XmlParser: mc nh X l d liu nhn
b. GUI
giao din ca ng dng
- Port: port m server s dng
- Button Run: chy server
- Button Stop: dng
- Button Refresh : Cp nht li thng tin client v
xa tab server
- Tab Client: hin th danh sch cc client ch kt
ni
- Tab Server Log :Trng thi server v client
c. Server
gm 3 class chnh l: ClientSocketHandler,
ServerListener, Timer
- Class ClientSocketHandler: x l ring tng client
- ServerListener:
Thread ch kt ni ti client
Ssocket : ch kt ni n client
- Timer: set thi gian cho client
2. CN_Client
gm package Client, Data, GUI
a. Data
gm 3 class
Data: d liu client
Peer:d liu peer

XmlParser:x l d liu
b. GUI
ClientUI
Message
c. Client
gm cc class:
P2PserverListener: Thread ch kt ni cc peer ti
InputStreamServerHamler : Thread kt ni ti server
Timer: Thread x l thi gian
P2PchatReq :Thread yu cu v ch yu cu phn hi
kt ni
P2Pchat:Thread x l qu trnh chat
FileSender : Thread gi file
FileWriter : Thread nhn file

IV. nh gi kt qu thc hin


1. u im
- Giao din chng trnh p, gn ging vi cc
chng trnh chat trn internet.
- Chc nng a dng
- D s dng.
2. Khuyt im
- Cn mt s li nh cha khc phc
V. Hng dn s dng ng dng
- Khi chy chng trnh Sever s chy trc
- Chn Run trong project CN_server

- N s hin ra hp thoi, ngi dng s chn Run,


nh hnh sau

Port m server s dng

hin th cc danh sch kt ni

Chn Run chy server

Hin trng thi server v client

Cp nht li thng tin client v xa


tab server

Hin th IP v port m server s dng

Dng dng server

- Sau khi cc client kt ni Server s hin th nh


sau

Tn Client s dng

in port m client s dng

Danh sch client trong mng


Hin th trng thi kt ni ca
client ti server

Hin thi trng thi kt ni

- Sau khi in IP v port cho client u tin th chn


Connect, lc ny client user1 s ch kt ni ti client khc

- Sau m client khc bng cch chy li client nh ln


u
- in Name v Port ri chn Connect, ca s s hin ra
nh sau

- List bn phi s hin ra danh sch client trong mng , l


user1

- Tng t cho bn ca s ca user 2 cng vy

- Chn user2 list bn kt ni 2 client . Lc s hin ra


ca s xc nhn kt ni, Chn Yes kt ni

- Sau khi 2 client kt ni s hin ra 2 khung chat cho 2 client

Tn ca client khc kt ni khc

Chn Send gi file

Chn Chat gi ni dung tin nhn

Nhp ni dung tin nhn

- Sau khi nhp ni dung v gi tin nhn , ca s hin nh sau

- Tng t Chn Send gi file


- Ca s s hin ra Th mc chn file ty

- Chn Yes chp nhn gi file

- Sau khi gi xong file, ca s hin ra nh sau

- Khi ngt kt ni vi server(hnh di)

- Th client dng kt ni

- V hp thoi s ngng chat v gi file

You might also like