Đề tài
Đề tài
:
:
MÔ PHỎNG QUÁ TRÌNH LÀM VIỆC CỦA 2 SERVER
MÔ PHỎNG QUÁ TRÌNH LÀM VIỆC CỦA 2 SERVER
NGANG HÀNG TRÊN MẠNG TCP/IP
NGANG HÀNG TRÊN MẠNG TCP/IP
Thực hiện:
Thực hiện:
NGUYỄN HẢI MINH
NGUYỄN HẢI MINH
Lớp KHMT K24
Lớp KHMT K24
Đà Nẵng, 5-2012
Đà Nẵng, 5-2012
2
!
!
!
!
"#$%&'(')*+
"#$%&'(')*+
!#!,'-,
!#!,'-,
'!./.'01*+%2*'
'!./.'01*+%2*'
345
345
3
"#!$!%&'
"#!$!%&'
6 !
6 !
",'7*+8-%2*'9 4:!(;<
",'7*+8-%2*'9 4:!(;<
=>3%:3%*+<*+' *+%*4?*+@
=>3%:3%*+<*+' *+%*4?*+@
+'!*A$%&'"*+!(,B%!(
+'!*A$%&'"*+!(,B%!(
+C!DE<8<4?*+
+C!DE<8<4?*+
+'!*A: :!.'01*+%2*'%<5
+'!*A: :!.'01*+%2*'%<5
F!'"*+!(,+!G<=>3%:3%
F!'"*+!(,+!G<=>3%:3%
H,45*!5%!*+I/!I4>5--'"*+
H,45*!5%!*+I/!I4>5--'"*+
!(,.*0%G'"*+!(,.*E)*+
!(,.*0%G'"*+!(,.*E)*+
J<A*+
J<A*+
4
"#!$!%&'())*
"#!$!%&'())*
K
L
,%2*'%*4?*+4-MN*'O*'!
K
L
,%2*'%*4?*+4-MN*'O*'!
>3%:3%
>3%:3%
P'"*+>QRS*+-A*+RS*+9!3*T
P'"*+>QRS*+-A*+RS*+9!3*T
3%:3%O>U*
3%:3%O>U*
",'7*+>V%<5F!'"*+!(,+!G<'<!
",'7*+>V%<5F!'"*+!(,+!G<'<!
3%:3%
3%:3%
5
+,-!./0
+,-!./0
!<5'A@
!<5'A@
@9 +!<5'A0WRX*+I9!*/.-'(
@9 +!<5'A0WRX*+I9!*/.-'(
')*+4-MN*':Y!*'<#4Z#5RG9!(0W+Q!
')*+4-MN*':Y!*'<#4Z#5RG9!(0W+Q!
'"*+>)'"*+8<[<'\
'"*+>)'"*+8<[<'\
O/'#*]*+240^*+
O/'#*]*+240^*+
X*+[<'\9 [<'\
X*+[<'\9 [<'\
6
+,-!./0())*
+,-!./0())*
"#'(')*+
"#'(')*+
_!3%:3%O`[<'\'5a`*: 0W/.*)!
_!3%:3%O`[<'\'5a`*: 0W/.*)!
: 54?*+4-MN*'
: 54?*+4-MN*'
-3%:3%9!*9?:Y!*'<Zb*+-'"*+!
L
,
-3%:3%9!*9?:Y!*'<Zb*+-'"*+!
L
,
c3>><+3d
c3>><+3d
P'!4_!3%:3%4)*'V'!
L
*4"
L
"*+:!
L
%*
P'!4_!3%:3%4)*'V'!
L
*4"
L
"*+:!
L
%*
'N*'42*''2e*+,'#!+Q!9*'
L
')*+4"
L
'"*+
'N*'42*''2e*+,'#!+Q!9*'
L
')*+4"
L
'"*+
!
L
,
!
L
,
P'!4"
L
3%:3%+Q!4"
L
'"*+!
L
,M4"
L
'5]
L
P'!4"
L
3%:3%+Q!4"
L
'"*+!
L
,M4"
L
'5]
L
*'!3%:3%'V'!
L
*4"
L
"*+:!
L
* 5O'2'"*+
*'!3%:3%'V'!
L
*4"
L
"*+:!
L
* 5O'2'"*+
!
L
,* M>f0W+Q!.*$#-3%:3%%*'
L
!
L
,* M>f0W+Q!.*$#-3%:3%%*'
L
')*+_!3%:3%>f/!I4%<'"*+!
L
,B*.
')*+_!3%:3%>f/!I4%<'"*+!
L
,B*.
9 42*''2>f'V'!
L
*
9 42*''2>f'V'!
L
*
7
+,-!./0())*
+,-!./0())*
$ # - 3%:3% *'K
L
* 0W '"*+ !
L
,B
$ # - 3%:3% *'K
L
* 0W '"*+ !
L
,B
*'0*+'\O3%:3%* 5Og
*'0*+'\O3%:3%* 5Og
'24Y!'V'!
L
**"
L
!R*+'"*+!
L
,O
'24Y!'V'!
L
**"
L
!R*+'"*+!
L
,O
%*4_!3%:3%O'IE340Wc5*!5%!*+d*h!
%*4_!3%:3%O'IE340Wc5*!5%!*+d*h!
R*+"*+:!(i'V'!(*?!-3%:3%/'-B
R*+"*+:!(i'V'!(*?!-3%:3%/'-B
A9 E340W<>/!>;<3%:3%/'-
A9 E340W<>/!>;<3%:3%/'-
6[*'R?*+;<'"*+!
L
,c3>><+3d
6[*'R?*+;<'"*+!
L
,c3>><+3d
idMessage
idMessage
Stt ca thông
Stt ca thông
đip
đip
IP Server
IP Server
gi
gi
IP Server phi thc
IP Server phi thc
hin
hin
8
,
,
'C*,'*449H,%2*'!%5>5j
'C*,'*449H,%2*'!%5>5j
!><9k<>!lm
!><9k<>!lm
'*44!%5>5jn3>>
'*44!%5>5jn3>>
=mmo
=mmo
9
,())*
,())*
!Y!'!(!/'!I*p!*>5/;<!><9k<>!
!Y!'!(!/'!I*p!*>5/;<!><9k<>!
lm
lm
6!/'!I*q!*>5/'5,'r,/.*)!.*4h4-MN*'D
6!/'!I*q!*>5/'5,'r,/.*)!.*4h4-MN*'D
E<: %<5F!RG9!(>QRS*+4h%5*+'<!+!<5'A
E<: %<5F!RG9!(>QRS*+4h%5*+'<!+!<5'A
c>3%<<+%<4%5559d'5ac%<*>4!>>!5*
c>3%<<+%<4%5559d'5ac%<*>4!>>!5*
5*%59%5559d
5*%59%5559d
O 'I 0W >Q RS*+ I ?5 - A*+ RS*+ 9!3* :
O 'I 0W >Q RS*+ I ?5 - A*+ RS*+ 9!3* :
>3%:3%
>3%:3%
?5A*+RS*+9!3*I9$M'"*+!**+0^!RX*+%0Y
?5A*+RS*+9!3*I9$M'"*+!**+0^!RX*+%0Y
/'!+Q!'&*+.*>3%:3%%*+K4
/'!+Q!'&*+.*>3%:3%%*+K4
?5 A*+ RS*+ >3%:3% 4 - 'A *]*+ ;< *O *'0 9
?5 A*+ RS*+ >3%:3% 4 - 'A *]*+ ;< *O *'0 9
4h !I4 %*+ K4 ' 'H, RG 9!( D 4h >) *+0^!
4h !I4 %*+ K4 ' 'H, RG 9!( D 4h >) *+0^!
RX*+
RX*+
?5A*+RS*+s'<t
?5A*+RS*+s'<t
10
,())*
,())*
V<'C*+!<5'A
V<'C*+!<5'A
'C*+!<5'A'<Mu
'C*+!<5'A'<Mu
6!I4/'-*'<'N*'+!G<'<!+!<5'A* M*b4g
6!I4/'-*'<'N*'+!G<'<!+!<5'A* M*b4g
%?*+'-!c><3d/.*)!;<'&*+
%?*+'-!c><3d/.*)!;<'&*+
1
234567)89:6);<=>)?5(7@)57AB6C@9*D
234567)89:6);<=>)?5(7@)57AB6C@9*D
1
E5)5>)2FG=>)?5);HI=5)5>);J);67KL5)4)5KHM
E5)5>)2FG=>)?5);HI=5)5>);J);67KL5)4)5KHM
):5ND
):5ND
1
O5PQ)=>)?5KRKHM)S7T4567)8CU45V=>)?5W3
O5PQ)=>)?5KRKHM)S7T4567)8CU45V=>)?5W3
BE7KEP)X)73WYZ69V25N[D
BE7KEP)X)73WYZ69V25N[D
1
!234567)8G5=>)?5(7@)572@CC*D
!234567)8G5=>)?5(7@)572@CC*D
1
\:4567)]45V665P]^ )X45?4H_[6PQ)]5G5>[
\:4567)]45V665P]^)X45?4H_[6PQ)]5G5>[
PQ))4K5NGKHM4`5)aPQ)P]^K>PQ)P]^=]P3
PQ))4K5NGKHM4`5)aPQ)P]^K>PQ)P]^=]P3
=4bPQ)=>)?5;c;3445V6d4D
=4bPQ)=>)?5;c;3445V6d4D
Y!Z !5-** MB'C*+!<5'A
Y!Z !5-** MB'C*+!<5'A
11
,())*
,())*
!Y!'!(*'G*+9(*'1Z#*;<!/'!I*q!*>5/
!Y!'!(*'G*+9(*'1Z#*;<!/'!I*q!*>5/
1. Trên Server 1
1. Trên Server 1
tcpServer1.RemoteHost=
tcpServer1.RemoteHost=
"IP/name"
"IP/name"
Khai báo địa chỉ IP/tên ca Server 2 kết nối với
Khai báo địa chỉ IP/tên ca Server 2 kết nối với
Server 1.
Server 1.
tcpServer1.RemotePort= Port
tcpServer1.RemotePort= Port
No
No
Khai báo địa chỉ cổng ca Server 2 kết nối với
Khai báo địa chỉ cổng ca Server 2 kết nối với
Server 1.
Server 1.
tcpServer1.Connect
tcpServer1.Connect
Server 1 thc hin kết nối vào mạng.
Server 1 thc hin kết nối vào mạng.
tcpServer1.SendData Message
tcpServer1.SendData Message
Server 1 thc hin gi dữ liu (lưu ở biến Message)
Server 1 thc hin gi dữ liu (lưu ở biến Message)
lên mạng.
lên mạng.
tcpServer1.GetData strData
tcpServer1.GetData strData
Server 1 thc hin nhận dữ liu lưu vào biến
Server 1 thc hin nhận dữ liu lưu vào biến
strData.
strData.
tcpServer1.LocalIP
tcpServer1.LocalIP
Chứa địa chỉ IP ca Server 1.
Chứa địa chỉ IP ca Server 1.
12
,())*
,())*
!Y!'!(*'G*+9(*'1Z#*;<!/'!I*q!*>5/cd
!Y!'!(*'G*+9(*'1Z#*;<!/'!I*q!*>5/cd
2. Trên Server 2
2. Trên Server 2
tcpServer2.LocalPort = Port
tcpServer2.LocalPort = Port
No
No
Khai báo địa chỉ cổng ca Server 2 kết nối với
Khai báo địa chỉ cổng ca Server 2 kết nối với
Server 1.
Server 1.
tcpServer2.Listen
tcpServer2.Listen
Server 2 thc hin lắng nghe
Server 2 thc hin lắng nghe
tcpServer2.Accept requestID
tcpServer2.Accept requestID
Server 2 thc hin chấp nhận kết nối.
Server 2 thc hin chấp nhận kết nối.
tcpServer2.SendData Message
tcpServer2.SendData Message
Server 2 thc hin gi dữ liu (lưu ở biến
Server 2 thc hin gi dữ liu (lưu ở biến
Message) lên mạng.
Message) lên mạng.
tcpServer2.GetData strData
tcpServer2.GetData strData
Server 2 thc hin nhận dữ liu lưu vào biến
Server 2 thc hin nhận dữ liu lưu vào biến
strData.
strData.
13
eOefg
eOefg
1v/.*)!'(
1v/.*)!'(
')*+
')*+
14
eOefg())*
eOefg())*
wKMRV*+
wKMRV*+
_!3%:3%O4"
L
<<Z<>3+!)*+*'<+v4-<Z93
_!3%:3%O4"
L
<<Z<>3+!)*+*'<+v4-<Z93
1
3>><+35%3
3>><+35%3
2H[]9S4@CC64@Z6<
h
D]\@;W@;Ki[bj4
2H[]9S4@CC64@Z6<
h
D]\@;W@;Ki[bj4
P
h
)C?9S4)4K5<
h
G974Hk59j4Kl4m6D
P
h
)C?9S4)4K5<
h
G974Hk59j4Kl4m6D
1
3>><+3!>
3>><+3!>
2H[)n)E])4K5<
h
GZ6<
h
97]\@;W@;);74<
h
2H[)n)E])4K5<
h
GZ6<
h
97]\@;W@;);74<
h
4`52<T])4K5<
h
GKHM2H[)@7)8):4`52<<
h
)?4D
4`52<T])4K5<
h
GKHM2H[)@7)8):4`52<<
h
)?4D
1
<>/!>
<>/!>
2H[]4W5<
h
XbW3);S4)]5Z6]4W5<
h
Kb
2H[]4W5<
h
XbW3);S4)]5Z6]4W5<
h
Kb
(KR):5<
h
oK64):5<
h
*D
(KR):5<
h
oK64):5<
h
*D
15
eOefg())*
eOefg())*
1v'V'I8<*'(;<
1v'V'I8<*'(;<
16
eOefg())*
eOefg())*
"#'5?h*+'01*+%2*';<-3%:3%
"#'5?h*+'01*+%2*';<-3%:3%
P.*)!: 54?*+B+Q!'"*+!(,v*+Zh9*4?*+
P.*)!: 54?*+B+Q!'"*+!(,v*+Zh9*4?*+
Q!-"*+:!(g' *+W!: 5c3>><+35%3d9*4?*+
Q!-"*+:!(g' *+W!: 5c3>><+35%3d9*4?*+
'H* '"*+ !
L
, +Q! .* : 90 : 5 ' *+ W! %<
'H* '"*+ !
L
, +Q! .* : 90 : 5 ' *+ W! %<
c3>><+3!>d
c3>><+3!>d
'V '!
L
* "*+ :!
L
;< 42*' '35 'A V g ' *+ W! %<
'V '!
L
* "*+ :!
L
;< 42*' '35 'A V g ' *+ W! %<
c3>><+3!>d*.9 "*+:!(;<42*'
c3>><+3!>d*.9 "*+:!(;<42*'
0"*+:!
L
'5 *' *': 5<>/!>
0"*+:!
L
'5 *' *': 5<>/!>
.'"*+!
L
,M+!-4>-c5*!5%!*+d'2+Q!5 *Z"
L
.'"*+!
L
,M+!-4>-c5*!5%!*+d'2+Q!5 *Z"
L
<>/!>;<42*''53%:3%M
<>/!>;<42*''53%:3%M
.*'K
L
*0W'"*+!
L
,9 R?*+<>/!>4 -3%:3%
.*'K
L
*0W'"*+!
L
,9 R?*+<>/!>4 -3%:3%
/'-+Q!.*>f'V'!
L
*'!I*'[*"
L
!R*+'"*+!
L
,* M
/'-+Q!.*>f'V'!
L
*'!I*'[*"
L
!R*+'"*+!
L
,* M
: *"
L
!R*+<>/!>;<42*'9*4 *'2*'+!-4>-
: *"
L
!R*+<>/!>;<42*'9*4 *'2*'+!-4>-
17
p
p
xyz{|}
xyz{|}
18
qr,gs
qr,gs