LỜI NÓI ĐẦU N gày nay hầu hết các ứng dụng tin học đều được xây dựng để thực hiện trên mạng máy tính, các ứng dụng clientserver đang ngày càng được sử dụng phổ biến. Nhưng khi quy mô và mức độ của các ứng dụng tăng lên và yêu cầu về chất lượng, tốc độ xử lý và độ phức tạp cũng tăng theo thì trên thực tế, một xu hướng kỹ thuật mới ra đời – xu hướng phân tán các thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và sản xuất thông tin. Song để khai thác có hiệu quả toàn hệ, vấn đề quan trọng hàng đầu cần phải tính đến là các tài nguyên nói chung, đặc biệt là tài nguyên thông tin nói riêng và chiến lược khai thác, sử dụng chúng một cách tối ưu nhất. Để thực hiện mục đích trên, rõ ràng hệ không chỉ đơn thuần được mắc nối vật lý với nhau, mà còn phải có cả các chiến lược khai thác chúng. Để xây dựng và ứng dụng hệ tin học phân tán thì việc nghiên cứu xây dựng các phần mềm ứng dụng cho các hệ tin học phân tán là công việc hết sức quan trọng. Sau khi được học hai môn “Hệ tin học phân tán” và môn “Lập trình mạng máy tính” dưới sự giảng dạy nhiệt tình của Thầy PGS.TS Lê Văn Sơn, chúng em đã tiếp thu được các kiến thức của hai môn học này. Thực hiện sự phân công của Thầy giáo, nhóm chúng em đã hoàn thành xây dựng tiểu luận “Mô phỏng quá trình làm việc của 2 server ngang hàng trên mạng TCPIP” Được sự hướng dẫn của Thầy giáo Lê Văn Sơn và sự giúp đỡ của các bạn, nhóm chúng tôi đã hoàn thành được những nhiệm vụ cơ bản đề ra. Tuy nhiên, với thời gian và kiến thức có hạn, bản báo cáo này chắc chắn còn nhiều khuyết điểm, chúng tôi rất mong nhận được góp ý chân thành của Thầy giáo và các bạn. Nhân dịp này cho phép nhóm chúng tôi xin được bày tỏ lòng biết ơn đối với Thầy giáo Lê Văn Sơn và các bạn đã giúp chúng tôi hoàn thành nội dung bản báo cáo.
Tiểu luận môn học: !"# !$%&" Đề tài: "#$'( %&")*+,, %).% ,%/"$0$ !"#$ %&'() *+ ,-.$/"0 1 Nhóm : Thảo-Uyên &/ Tiểu luận môn học: 123 2 / '30456"7879:;< 57=& >0 1?0456@A-BA&CA&7/2 279:BD56 +EF39GH IC247JK/0456@C2 'C8L@9:?M7J;D@NC27J+4>+OA$P&3?J; 9*GQR*&/7ST;9*+<002+'>$"A$ 9*3+RBD56C2B#;LI$7=G/0H#$2 ?CL78H/&"27''+#173@202 ?7UF @22 I&C23@9:G/0?BD56VJ0M 9L W=671&?&X&2GIY7'79:ZMCR @NC*/?2[+##03@9:G/0VW=;< 5C24 56"+<0PC4;< 50+'8456$ 0"+<0@2IC3B4H/&" /G79:"/I“Hệ tin học phân tán”C2I“Lập trình mạng máy tính”59*B#5> PK/' \?VA7] 3+79:0G34K//I"2 B+<IK/' 0$?VA7]$22;< 5=@R“Mô phỏng quá trình làm việc của 2 server ngang hàng trên mạng TCP/IP” W9:B9*5^K/' 0$C2BV+7_K/0F>? VI7]$2279:`C6F#78&/ ?C*S /C2G34>?F#F0$0$2 ZZ[8G 37=?VI &L$R79:+N<2K/' 0$C20F><5(+2 $ +a+VI;79:F2 b@[F37MC*' 0$C2 0F>7]V+VI$22J5F#F0$0$ &<&"0c 4 567 %38* 5/ Nhóm : Thảo-Uyên &/% Tiểu luận môn học: " defeWg)% e @N$>7JK//$4,\e\h eei'K/F2$0j eeekI#Ml e/"+'87=;< 59&Pl e*mB$Gl e%/"/$4n eo*`@F#K/78G=mB$Gn 3G39&P% 7pG3MM% e%q< 5Br5`@% e3G3/$59&Po e,9&PK/A&CA&h e%,9&PK/A&CA&%h eekI#$>7JK/9&PK/0A&CA&s eee9*5^27U9&Ps eee,2&J0 1s eee%,2&/0 1t eq156//F/BAt ueev)wk.xyl Nhóm : Thảo-Uyên &/o Tiểu luận môn học: 9:;<=>?@ABCDED?FB$0$ k>0 12 / 7]&r2J2+'H/&"&$2 & 8I&3*?F/7'YC2>0 179:79/C2$BD56r 0C4C2+6C6$HM+[,zC*S/?G$/"+0 &=?00 #?>0 17]UrGZ+?{&9S"?20 73 0"CWUFBFzEK/>I$2'eA&A7]79/G# BD56>73{9S5<22 F>5>$&eA&A?@9* &0&/mAF?F/$SF>b@232$2$9S79:G# & R+I>|C2@:739CR } "GHI:JBCDKK 9&$P?G3LCR@NK/>eA&Ap>14/0 BA&CA&L+5(C6$>?>0F/$p0&>@2CBD56 5(C65$eA&AL+~W0< eA&A~24/CIC2>1?> 0C2F/$+K$23*W=JM+4>+9CR $>7J&& C2H#P78GH 3@2"0 1&$>?5zG0/C8G3 &V?78+#/$3+C*>A$zJH @RW@2/$4,\e\ Nhóm : Thảo-Uyên &/h Tiểu luận môn học: (:J:;LMN=EO:I:DKK 37]{@R+&P?F>•F3&€J9&P$2Y79:>$ {8$5@AC*04C2C6G0/9@>@G3U| C*/•0&P& 85`@O9CR W==& 8H/>eA&A? 5`@+#79:;D@NH/8'kJ>&/AA$‚ye9S F# '9eA&AYFM';D@N5`@@2 ƒ'/++@/$ ƒ'&/B+$&["@2',\„&/BBB$,$&$@\&$$$@… ƒ'A†$&G["@2'e\„eA&A\&$$$@… ƒ'//@G\ B/@ #BDF>7/r0 wC2MDJI7+*0 ‡‡>5zJ &PB$>#$CF#7=B$>9?B/7LVA51{S7=75` @79:;D@N@'@9:9&$P% W'?5`@79:;D@NFr'/++@/$'2 C6E45` @A$GI5>C2&RL7(7='/++@/$r0 ‡== Nhóm : Thảo-Uyên &/s Tiểu luận môn học: 79:W82 M9GF>C3J9&PP0<@+#< A$4C2V+0+L7(P9&P*> 79:'/++@/$D 5`@;M'59*A$5[F AMF A,zC*5`@?'/++@/$ OD;M0I78G=G0V+;07(7(/Y73?7K/5`@ .;M*',\?5[5`@B|79:720G19* GIL3F€/9+#bth.‡,L&VK/5`@,\ pJ+'A/5A&4/I78G=C2B/7@25`@/G7 ;$r',\?5`@79: =;M$'e\ 5`@;M*'e\B|3+6F(7@>205`@e\b B/$$G19*+z:+C*> =>25z7=& 8 5`@&$G7?e\Oˆ+'A/5A&K/C2$5`@&p =;M$'//@G\ B/@ .05`@e\*'//@GB|79:ZJA/5A&G0C2 =*'+ B/@7C2$>5`@@V2 "@2‰&/A.19* K/J‰&/A$2$2+6JC2$>20 wG3M &$G79:& 8&>eA&A?‰&/A79:0&$A&Y5^7== *7V71'*Š$A&&/@2J$5@AY/'@2A†$&GC2 //@G\ B/@,0‰&/A*&$A&B|79:'//@G\ B/@@"FbA/5A& 2'2 C2$C2 =@'A†$&G„e\…'e\5/C2$0I 78G=&$A/5A&2C2$7=H 37(79S73+A$$e\ /7e\2 @>79: =;M'//@G\ B/@7=7C2$>•0 &P433+6$73G5`@*71@20 ‡ .*0 ‡05`@79:;D@NA$H &P9:@>C*0 wA$ 8O?7'5`@H/'5//@G+ B/@>7< ‰&/AF(Fb7+' A/5A&C2 =@'e\>'e\?5`@79:Fe\?B/7@' ,\C2Mz@'/++@/$7==(&/2P Nhóm : Thảo-Uyên &/t Tiểu luận môn học: OP@QDBRSTBUBV:;LMN=EO:?KK W=J5`@=7{p*71?>eA&A7]5zJM 707(/YL#00 1MC2$>9Po `C27(/Y2 79:D$0 1R5`@ UBVWVPEENDDEJ;?KK ,UMz&$$>7JK/>eA&A@23G3M`//0 W=$2FJ0$>7J& 8`//0 &$>=5!&/P+# P2G@@>/ JG3M`/V•0&P75!&/9B/ „P‹… Nhóm : Thảo-Uyên &/‹ Tiểu luận môn học: )\‡#BD@2J9&P/@BA&CA&rkQ$@2BA&CA&@V2$ OS7:BG3M %)\w@29&PR97DK/F>W=G3M?F>D 'G3 M;M$',\ o,\‚F(J5`@,\C*SiŒ 'B7pFJ$0?•• =@L FLGP0&(2$?r7< @2ŒnnC2D$,\‡ h/GR5`@iŒ?,\‡D&#@>JIF0$iŒ? w,.Œn?••=@L FLGP0&(2$?r7< @2Œ‹‹ s,\wR79:5`@{,\‡B|D3+J5`@w,.Œ‹j t,\w =L+RG3M@9&Pw ‹/GRM5`@w,.Œ‹j?,\‡ =L+RG3M@ 9&P‡ G3M`/%$5@A,\r0F9*o?h?s"@23FZ/ oF9*„&AA †/ /5B/GA… •0&P7JG3MO9 95<:BX:BCDYTE?J R+&P&>w/A&CA& .IBD560456,@ATA&CA&BŽ q< 5M&/$7EI7+`//A&CA& Nhóm : Thảo-Uyên &/j Tiểu luận môn học: 9"GZOP k•A&CA&7(/Ye\ ,0A&CA&@@>C*/F€0I7+„kABB/A… .•A&CA&MJIC&1PPO+#D@ MJI7+ ,0I7+79:;07(&9*„C8J5…5$9S@R+&P>$ k•A&CA&B|D0I7+A$'H 9*&9*• 9*@2•@VY JI7+79:D .JA&CA&DJI7+ 'J$U8A&CA&JI C2$7PI7+2 B|79:D73L#0A&CA&&Mk• A&CA&B|G=&/I7+?3Server phải thc hin@2PPB| L#0A&CA&78R79:I7+?9YA&CA&2$e\rServer phải thc hinP*J5I7+7 &•A&CA&=;A79:„k$$&…J5IC7]>0 A&CA&G0?4@2;A79:/BGBK/A&CA&G0 W(5>K/I7+„kABB/A… 5kABB/A K/I7+ e\A&CA&D e\A&CA&+# K/I7+B|@23+A$&$kABB/AB )9[DB\XL@]^_;M[B`U ,"+'8@R+&Pk&$B$‰B/@‡/BtnC2+'8, k&$B$‰wABB%nno )9a9EbEEO:cEd?BW W8G=mB$G$+a+G3M73J0 1{;/C2&/$7E5`@BD 56J&$//$4)\„)BA&//&/\&$$$@…$U,\„&/BBB$ ,$&$@\&$$$@… ,=79:BD567=>$0456@AC2BA&CA& Nhóm : Thảo-Uyên &/l Tiểu luận môn học: - >$456@A7=@L I9S5z&9*GDV73BA&CA& &< - >$456BA&CA&204K/9@2J7=&< R+5`@{JBM9S5z - >$456•/‘ )9e9[DB\ED?FB .BD56mB$G?78H/<7'@2"/$4)\/ ,\ W=G0/1`///$42 €r&>0„B/A…G3MK/ V - ,\@2/$45/&G3M„$A$-F/BA5…?997$>? 9S5z+#3@R+G3M&9*G3&P&/$7EI79: .JG3M7]79:>$?/$4,\B|`G3MC2F#$ 7#1$2C’K/5`@ ,\ 'JG3M&X&2&9*GDC2R5`@ - )\@2/$4+G3M„$A$@ABB…/$0`//0 1 M9H/J0+3JI7+79:D{J0 73J 0 G02GIJG3M&X&2`/V *F2$02 ?/"/$4,\@2+z:+ )9f9EbEEO:N=OBUYZBCD@EL:WE]cEd?BW O "GZ a9<-KSKa tcpServer1.RemoteHost = “IP Addr” ./F0$7(/Ye\K/A&CA&%G3M C*A&CA& tcpServer1.RemotePort = 1001 ./F0$7(/YEK/A&CA&%G3 MC*A&CA& tcpServer1.Connect A&CA&G3MC2$> tcpServer1.SendData Message A&CA&D5`@„@9r F3kABB/A…@> Nhóm : Thảo-Uyên &/n [...]...Tiểu luận môn học: Lập trình mạng GVHD : TS Lê Văn Sơn tcpServer1.GetData strData Server 1 thực hiện nhận dữ liệu lưu vào biến strData tcpServer1.LocalIP Chứa địa chỉ IP của Server 1 Lệnh Mô tả 2 Trên Server 2 tcpServer2.LocalPort = Khai báo địa chỉ cổng của Server 2 kết 1001 nối với Server 1 tcpServer2.Listen Server 2 thực hiện lắng nghe tcpServer2.Accept Server 2 thực hiện chấp... giám sát đến Server1 Hiển thị nội dung thực hiện công việc của Server1 và Server2 Nút lệnh “Clear my task list” : Thực hiện xóa nội dung các công việc đã thực hiện của Server2 Nút lệnh “Exit”: Để thoát chương trình Nhóm : Thảo-Uyên Trang 14 Tiểu luận môn học: Lập trình mạng GVHD : TS Lê Văn Sơn VII Mô tả hoạt động của chương trình của các Server - Kết nối vào mạng, gửi thông điệp đồng bộ lên mạng - Gửi... Click nút Monitor để hiển thị tasklist của hai Server + Click nút Clear my task list để xóa task list của server đó VIII.2 Cài trên hai máy tính Thiết lập lại : Trên Server 1: + chọn form start là frmServer1 + tcpServer1.RemoteHost= Địa chỉ IP của Server2 + tcpServer1.RemotePort= Cổng của Server2 Trên Server 2: + chọn form start là frmServer2 + ExecuteServer= IP của Server1 IX Ví dụ Database MessageStore... nội dung thông điệp này và nội dung TaskList của mình lên màn hình giám sát VIII Hướng dẫn cài đặt chương trình VIII.1 Cài trên một máy tính Khi khởi động chương trình, hai form đại diện cho hai giao diện của hai server hiển thị + Khi hai form hiển thị chương trình tự động thực hiện kết nối vào mạng Nhóm : Thảo-Uyên Trang 15 Tiểu luận môn học: Lập trình mạng GVHD : TS Lê Văn Sơn + Click nút Start để... trúc của các Table Table: MessageStore: idMessage Nội dung Table: MessageList: idMessage Mark SentServer ExecuteServer Mark là dấu do hệ thống cấp (mô phỏng bằng auto number) Table: TaskList: idMessage Đã thực hiện Thời gian hoàn thành Sơ đồ thực thể quan hệ VI Thiết kế giao diện chương trình Nhóm : Thảo-Uyên Trang 13 Tiểu luận môn học: Lập trình mạng GVHD : TS Lê Văn Sơn VI.1 Chương trình của Server1 ... hiện chấp nhận kết nối requestID tcpServer2.SendData Server 2 thực hiện gửi dữ liệu (lưu ở Message biến Message) lên mạng tcpServer2.GetData strData Server 2 thực hiện nhận dữ liệu lưu vào biến strData Nhóm : Thảo-Uyên Trang 11 Tiểu luận môn học: Lập trình mạng GVHD : TS Lê Văn Sơn V Thiết kế chương trình V.1 Sơ đồ kết nối hệ thống VI.2 Xây dựng cơ sở dữ liệu Mô i Server có một Database giống hệt nhau... gửi các thông điệp đến Server2 Nút lệnh “Monitor”: Gửi thông điệp yêu cầu giám sát đến Server2 Hiển thị nội dung thực hiện công việc của Server1 và Server2 Nút lệnh “Clear my task list” : Thực hiện xóa nội dung các công việc đã thực hiện của Server1 Nút lệnh “Exit”: Để thoát chương trình VI.2 Chương trình của Server2 Nút lệnh “Start”: Để bắt đầu thực hiện gửi các thông điệp đến Server1 Nút lệnh “Monitor”:... dạng Message của hệ Các Server đều có cùng một số dạng thông điệp do người dùng định nghĩa 2 MessageList lưu tất cả các thông điệp của hệ do các Server trong hệ gửi lên, các thông điệp được lưu theo thứ tự gửi lên hệ thống 3 Một TaskList lưu các công việc chính nó và trạng thái của các công việc đó (đã thực hiện/ đang thực hiện) Nhóm : Thảo-Uyên Trang 12 Tiểu luận môn học: Lập trình mạng GVHD : TS... 10.149.49.113 10.149.49.113 Trang 17 Tiểu luận môn học: Lập trình mạng GVHD : TS Lê Văn Sơn TaskList id IdMessage Status DoneTime 129 130 2 Done 6/6/2008 2:58:37 PM 131 3 Done 6/6/2008 2:58:38 PM 132 3 Done 6/6/2008 2:58:39 PM 133 2 Done 6/6/2008 2:58:40 PM 134 Nhóm : Thảo-Uyên 1 Done 6/6/2008 2:58:36 PM 0 Done 6/6/2008 2:58:50 PM Trang 18 Tiểu luận môn học: Lập trình mạng GVHD : TS Lê Văn Sơn TÀI LIỆU THAM... công việc ở hàng đợi vào (MessageStore) lên mạng - Nhận thông điệp gửi đến và lưu vào hàng đợi ra (MessageList) - Thực hiện công việc của mình theo thứ tự ở hàng đợi ra (MessageList) nếu là công việc của mình - Lưu công việc hoàn thành vào TaskList - Nếu thông điệp yêu cầu giám sát (Monitoring) thì gửi toàn bộ TaskList của mình cho Server yêu cầu - Nếu nhận được thông điệp là dạng TaskList mà các Server