N I DUNG
Ộ
ớ
i thi u ệ
Gi Các thành ph n c b n cho ầ
ơ ả
ụ
ứ
Phát tri n ng d ng phân tán
ng d ng phân tán ụ ể ứ v i Java RMI ớ
Các ví dụ
DUYTAN UNIVERSITY
c thi
ệ
ơ
ả
ệ ộ ớ
ế ế ử ế
ượ ệ ố ́ ữ
GI I THI U Ớ Ệ
ứ
́ ̃
“ ở
c tính 28.8 tri u ng
ướ
ậ
ở
ệ
ệ
ử ụ ử ụ
̀ ̉
́ ́ ̉
• H phân tán đ t k vào nh ng năm 70 ữ (v i m t vài h th ng th nghi m đ n gi n) ộ ớ Kê t đo đa co nh ng ti n b l n. ̉ ừ - Ví d : Theo công trinh nghiên c u cua ụ Internet and Web use in the US” Hollman.D M , – 1997, trong i ườ ở ỹ ệ 16 tu i tr lên truy c p vào Internet, s d ng ử ụ ổ 16,4 tri u Internet, 15,1 tri u s d ng Web, trong đo co khoang11.5 tri u đã s d ng Web ệ đ mua hàng các m t hàng.
ể
ặ
DUYTAN UNIVERSITY
ườ
ộ
ầ
ạ ế ố
đã ch y trên c hai
ụ
ụ Ứ
ạ
ả
i ự ế ạ
ệ
ợ
i th c a h th ng phân tán đã ố phù h p ợ
ư
• Ngày nay, Internet đ t đ n hàng tri u ng i ệ t c các trong g n m t trăm qu c gia trên t ấ ả châu l c trên th gi ế ớ ng d ng th c t h th ng t p trung và m ng Internet. ậ ệ ố ra đ i h th ng phân tán là không th ể ờ ệ ố tránh kh iỏ • Nh ng l ế ủ ữ c đ a ra cho m c đích này đ ụ ượ cho vi c phát tri n các ng d ng phân tán.
ứ
ụ
ệ
ể
GI I THI U Ớ Ệ
DUYTAN UNIVERSITY
Các yêu c u đ i v i các ng d ng phân tán
ầ ố ớ
ụ
ứ
ự
ể ụ
ọ
ể
ể
• Yêu c u đ xây d ng 1 ng d ng phân tán đòi h i ỏ ụ ứ ể ầ khác nhau, và khá ph c t p. Tuy nhiên, v nhi u y u t ề ứ ạ ế ố ề c b n đ thi t k và tri n khai m t ng d ng phân tán ộ ứ ế ế ể ơ ả c n l a ch n : ầ ự - Mô hình phát tri n - Ngôn ng l p trình ữ ậ - C s d li u ơ ở ữ ệ - K thu t phát tri n ậ ỹ - Qu n lý b nh ộ ớ - Qu n lý b o m t v.v... ậ ả ả ả
DUYTAN UNIVERSITY
NGÔN NG L P TRÌNH PHÂN TÁN Ữ Ậ
ổ ạ ể ữ ậ
ẳ ợ
ạ ữ
ấ ư ữ ề ề
ộ
c ch ệ ươ ấ
ng (sequential t đ ệ ượ ng trình tu n t ự ươ ừ
phân tán (PES) ế ố ề ́
i ng d ng ị ỗ ứ ụ
• Các ngôn ng l p trình c đi n ch ng h n nh ư Fortran, Pascal, và C là không thích h p cho các h ệ th ng phân tán. Nh ng lo i ngôn ng này không h tr ỗ ợ ố t cho các v n đ nh : concurrency, truy n thông, t ố đ ng b hóa, và s đáng tin c y v.v... ậ ự ồ • Hi n có ba v n đ c b n mà phân bi ề ơ ả ch trình phân tán t ầ program) - S d ng x ly nhi u y u t ử ụ ử - H p tác gi a các PES ữ ợ - Kh năng ch u l ả
DUYTAN UNIVERSITY
ặ
ữ ỗ ợ ậ
ng
ng, t
ế
ườ
ố ượ
ậ
ế
ẻ ữ ệ
ố
i : trong su t, giao d ch nguyên t
, ố
ố
ị
ủ
t các tính năng c a các ngôn i đây cho ta th y rõ h n ướ
ấ
ơ
Ngôn ng h tr l p trình phân tán có đ c đi m:ể - Song song : ti n trinh, đ i t thu t, mapping ... - Giao ti p : Thông đi p, chia s d li u, đ i ệ ng... t ượ - Ch u l ị ỗ l i NIL ... ỗ • B ng tóm t ắ ả ng l p trình d ữ ậ đi u này ềDUYTAN
NGÔN NG L P TRÌNH PHÂN TÁN Ữ Ậ
UNIVERSITY
Các yêu c u đ i v i các ng d ng phân tán
ầ ố ớ
ứ
ụ
t kê các tính năng trên các ngôn ng l p trình phân tán
• B ng li ả
ệ
ữ ậ
DUYTAN UNIVERSITY
Các yêu c u đ i v i các ng d ng phân tán
ầ ố ớ
ứ
ụ
t kê các tính năng trên các ngôn ng l p trình phân tán
• B ng li ả
ệ
ữ ậ
DUYTAN UNIVERSITY
MÔ HÌNH THI T KẾ Ế
Client Server
ụ
c áp d ng r t ấ ụ ượ hi n ệ trong các ng d ng ứ
ộ
ự ế c n i t
ể ượ ằ
ả
ượ
ầ
ậ ụ
• Là mô hình đ r ng rãi ộ có. • Trên th c t thì m t server có i nhi u server th đ ề ố ớ khác nh m làm vi c hi u qu và ệ ệ nhanh h n. ơ - Khi nh n đ c 1 yêu c u t ầ ừ ượ ậ client, server này có th g i ti p ể ử ế yêu c u v a nh n đ c cho ừ server khác (ví d nh database ư server)
DUYTAN UNIVERSITY
Phân theo c m/đám (Clustering)
ụ
ầ
ế ế
t k và tri n khai cluster c n tho ả
ả
ể
ả ự
ấ ạ ộ
ư
ậ
ể ầ ả
i c a h th ng. c
ở ộ
ệ
DUYTAN UNIVERSITY
ng lai.
•Thi ể mãn các yêu c u:ầ (availability): tài nguyên -Tính s n sàng cao ẵ luôn s n sàng trong kh năng cao nh t đ ể ẵ cung c p, gi m thi u s ng ng ho t đ ng ấ h th ng ệ ố (reliability): gi m thi u t n - Đ tin c y cao ả ộ s x y ra các s c , và nâng cao kh năng ự ố ố ả ch u đ ng l ỗ ủ ệ ố ị ự ượ (scalability): d ễ - Kh năng m r ng đ ở ộ ả dàng cho vi c nâng c p, m r ng trong ấ t ươ
Phân theo c m/đám (Clustering)
ụ
Mô hình tri n khai ng d ng Clustering ứ
ụ
ể
DUYTAN UNIVERSITY
Phân theo tính toán l
i ướ (Grid Computing)
ỏ
ử
ụ
ớ
ầ
ế
ứ ữ ệ ọ
ứ
ạ
ườ ỷ
ể
ứ
ụ
ứ
ụ
ử ụ
•Đ i v i các ng d ng đòi h i: x lý v i s ớ ố ố ớ ng d li u l n, yêu c u tìm ki m, s p l ắ ượ x p, trích l c, chia s tài nguyên v.v.. trên ẻ ế ng phân tán (ch ng h n Internet ch a môi tr ẳ tri n khai Grid hàng t trang Web) Computing. •Tri n khai ng d ng Grid khác ng d ng ể Web. •Google, Bing, Youtube v.v... s d ng mô hình này.
DUYTAN UNIVERSITY
Đi n toán đám mây
ệ
ệ
ộ
c o hóa đ ượ ư ộ ấ
ụ ư ư ầ ổ ồ
ề ị
ườ ế ố ể ọ ử ụ
• Đi n toán đám mây (cloud computing): mô hình đi n ệ toán có kh năng co giãn (scalable) linh đ ng và các tài ả c cung c p nh m t ng đ nguyên th ượ ả ườ ạ Internet d ch v trên m ng ị - Nh vây, các ngu n đi n toán kh ng l nh ph n ệ ồ i các máy ch o (đám mây) m m, d ch v ... s n m t ủ ả ạ ẽ ằ ụ trên Internet. thay vì trong máy tính gia đình và văn phòng (trên m t đ t) đ m i ng i k t n i và s d ng ặ ấ m i khi h c n. ọ ầ ỗ
DUYTAN UNIVERSITY
Đi n toán đám mây
ệ
ờ ừ ữ ể ự ệ ẽ ạ ở
• Ra đ i t gi a năm 2007, cho đ n nay đã không ế c hi n th c b i ng ng phát tri n m nh m và đ ượ nhi u công ty l n trên th gi i nh IBM, Sun, ớ ớ Amazon, Google, Microsoft, Yahoo, Sales Force, …
Mô hinh minh h a v Cloud Computing ề
ọ
ừ ề ư ế
DUYTAN UNIVERSITY
Cơ s d li u
ở ữ ệ
ư ̣ ự ̣ ̃ ́ ́ ́
́ ̃ ̣ ̣ ̀ ̣ ̃
̀ ử ̉ ứ ở ́ ử ̀ ́ ̣ ́ ̀
ư ờ ́ ̣ ̀
c triên khai trong cac ượ ̣ ́ ̀ ̉ ́
̣ ́
̣
̉ ứ ̀ ̣ ̀ ̣ ́ ̣
• Viêc l a chon CSDL cung nh thiêt kê CSDL co 1 y nghia quan trong trong : vân hanh, m rông cung nh duy tri, phat triên ng dung va x ly (x ly đông th i, tai tao v.v...) sau nay. • Hiên co 2 mô hinh CSDL đ ng dung phân tan ứ + CSDL tâp trung + CSDL phân tań Tuy thuôc vao quy mô cua ng dung, tinh tin cây, săn sang, hiêu qua v.v... ma chung ta co thê l a chon 1 trong 2 mô hinh trên.
̉ ự ̃ ̀ ̣ ̉ ̀ ́ ́ ̣
̀
DUYTAN UNIVERSITY
K THU T PHÂN TÁN Đ I T NG Ố ƯỢ Ậ Ỹ
Nhóm 1
• H tr l p trình th t c ủ ụ - RPC, DCE RPC,DCOM
ỗ ợ ậ
Nhóm 2
• H tr l p trình h - CORBA, RMI
ng đ i t ng ỗ ợ ậ ướ ố ượ
Nhóm 3
ỗ ợ ụ
• H tr các ng d ng Web ứ - XML, SOAP, Web Service, AJAX, REST
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
ng là m t trong nh ng v n ố ượ ữ ộ
ậ ề • L p trình phân tán đ i t ỏ ệ
ấ đ nóng b ng c a công ngh ph n m m hi n nay. m t máy ầ ủ • Làm th nào đ g i hàm hay đ i t ố ượ ể ọ ệ ở ộ ế
ề ng m t máy khác ? ọ
- Nh đa trinh bay ừ ộ trên, đê phat triên cac ng dung nào đó và g i chúng t ̀ ở ư ̃ ́ ứ ̀ ̉ ́ ̉ ̣
̉ ử ́ ́ ̣ ̀ ̃ ̣ ́
phân tan co thê s dung nhiêu ky thuât khac nhau : RPC, DCE RPC, DCOM, XML, SOAP, Web Service v.v...
ăt qua trinh th c hiên ư ́ ̣ ự ̉ ̃ ̉ ̃ ́ ́ ̀
Đê dê triên khai cung nh năm b Java RMI.
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
phia Client)
ở
• K thu t RMI ậ
̣ ́
phia
ở
̣ ̣
Server)
ứ
ạ
ầ
̣ ́ ỹ - java.rmi (Tao interfaces, classes, exceptions - java.rmi.registry (Dich vu RMI Naming) - java.rmi.server (Tao interfaces, classes, exceptions
́ ̉ ́ ́ - java.rmi.activation (Kích ho t ch c năng theo yêu c u) - java.rmi.dgc (Phân tan, thu gom, giai phong biên )
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVARMI Ớ Ể
ễ ử ụ
ng th c t i g i ứ ừ ươ xa gi ng l ố ờ ọ
ố ờ ọ ng th c c c b ứ ụ ộ ươ ậ ộ
ấ
Đ c đi m ể ặ • u đi m Ư ể - Đ n gi n, d s d ng ả ơ - Trong su t: l i g i ph ph - Đ tin c y cao - An toàn và b o m t (do JVM cung c p) ậ ả c đi m: • Nh ể - Ch dùng cho java ượ ỉ
DUYTAN UNIVERSITY
Mô hình t ng quát ổ
CLIENT
SERVER
Application
Interface
Interface
RMI System
Mô hình t ng quát ổ
xa ị ệ ụ ở
ị xa ị ụ ở
ụ
ặ ị ể ủ ể ượ ị c d ch v ụ
ặ ấ
ng trình client s d ng d ch v xa • Đ nh nghĩa giao di n cho d ch v • Cài đ t c a các d ch v ặ ủ • Stub và skeleton • Máy ch trên đó cài đ t d ch v (JRE) ủ • D ch v tên c a RMI đ clien có th tìm đ ụ ị xaở • Server cung c p bytecode (HTTP ho c FTP server) • M t ch ộ ử ụ ụ ở ươ ị
Quá trình th c hi n
ự
ệ
ớ
ệ Ví d : HelloInterface.java
ng th c c a l p giao di n
ệ
ươ
ạ ạ ớ
ụ các ph ả
ứ ủ ớ
ệ (Ví
ng trình Server ươ ng RemoteObject t
l p Implement
ừ ớ
đăng ký đ i ố
• T o 1 l p giao di n. • T o l p th c hi n mô t ự d :HelloImplement.java) ụ • Xây d ng ch ự - T o đ i t ố ượ ạ ng v i máy JVM . t ớ ượ UnicastRemoteObject.exportObject(RemoteObject)
- Đăng ký đ i t
ng v i rmiregistry
ố ượ
ớ
Naming.bind(“rmi://
ng Obj tham chi u đ n đ i t
ng t
xa thông
ế
ế
ạ
ố ượ
ừ
• Xây d ng ch ươ ự - T o m t đ i t ộ ố ượ qua: Naming.lookup(“rmi../tênRemoteObject”);
DUYTAN UNIVERSITY
Quá trình th c hi n
ự
ệ
ị
ng trính Client,Server
ị
• Biên d ch t ol p Stub,Skel :
ạ ớ
- rmic
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVARMI Ớ Ể
Ví d 1 :ụ
ờ ở i chào, Server th c hi n tr ả ự ệ
• Client g i cho Server l i l i cho Client. l ờ ạ Yêu c u : Hi n th l ể ầ Client theo k thu t RMI ỹ
i chào c a Server trên màn hình ủ
ị ờ ậ
bàn ở ậ ừ ố
ố ự ủ ầ ổ
ị ế ả
Ví d 2 :ụ • Client g i cho Server 1 s nguyên k nh p t phím đ n Server. ế nhiên đ u Yêu c u : Server tính t ng c a k s t ầ tiên và hi n th k t qu trên màn hình Client theo k ỹ ể thu t RMI ậ
DUYTAN DUYTAN UNIVERSITY UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVARMI Ớ Ể
• B1 : T o l p Interface
(Xinchao.java)
ạ ớ
Th c hi n (Ví d 1) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
l p Interface
(XinchaoImpl.java)
ệ ự
ệ ừ ớ
Th c hi n (Ví d 1) • B2 : Cài đ t l p th c hi n t ặ ớ ụ ự
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
ng phân tán trên Server
ự
Th c hi n (Ví d 1) ụ ệ • B3 : Xây d ng đ i t ự ố ượ (Server.java)
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
ng trình Client:
ự
ươ
• B4 : Xây d ng ch (Client.java)
Th c hi n (Ví d 1) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• B5 : T o Stub và Skel
(build.bat)
----------------------------------------------------
CHUONG TRINH COMPILE
----------------------------------------------------
---------
Th c hi n (Ví d 1) ự ụ ệ
ạ ECHO OFF Echo Echo Echo Path= C:\Program Files\Java\jdk1.7.0_01\bin Echo -----------Dich cac tap tin *.java del *.class javac *.java Echo ----Tao tap tin trung gian _Stub va _Skel cho doi tuong rmic HelloImpl start rmiregistry @pause
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• B6 : Ch y ch
ng trình trên server
(server.bat)
ạ
ươ
CUA SO LAM VIEC CUA SERVER
CLS @ECHO OFF ECHO ============================================= ECHO ECHO ============================================= Path= C:\Program Files\Java\jdk1.7.0_01\bin set CLASSPATH=.;%CLASSPATH%; java Server pause
Th c hi n (Ví d 1) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• B7 : Ch y ch
ng trình trên client
(Client.bat)
ạ
ươ
CLS @ECHO OFF ECHO =============================================
CUA SO LAM VIEC CUA CLIENT
ECHO ECHO ================================================== Path= C:\Program Files\Java\jdk1.7.0_01\bin set CLASSPATH=.;%CLASSPATH%; java Client pause
Th c hi n (Ví d 1) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• T ch c các l p t
i Client/Server
ổ ứ
ớ ạ
• Server - Server.class - Xinchao_Skel.class
• Client - Client.class - XinchaoImpl.class - XinchaoImpl_Stub.class
Th c hi n (Ví d 1) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
build.bat, Server.bat, Client.bat
Th c hi n (Ví d 1) ự ụ ệ
• Lân l ta thu đ
t chay cac file : c kêt qua nh sau :
̀ ượ ượ
̉ ư
̣ ́
Kêt qua khi chay file
build.bat .
́
́ ̉ ̣
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• Kêt qua khi chay fie
Server.bat
Th c hi n (Ví d 1) ự ụ ệ
́ ̉ ̣
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• Kêt qua khi chay fie
Client.bat
Th c hi n (Ví d 1) ự ụ ệ
́ ̉ ̣
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• B1 : (Calculator)
Th c hi n (Ví d 2) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVARMI Ớ Ể
• B2 : (CalculatorImpl)
Th c hi n (Ví d 2) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVARMI Ớ Ể
ệ ự ụ
Th c hi n (Ví d 2) • B3 : (CalculatorServer)
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVARMI Ớ Ể
ệ ự ụ
Th c hi n (Ví d 2) • B4 : (CalculatorClient)
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• B5 : T o Stub và Skel
(build.bat)
----------------------------------------------------
CHUONG TRINH COMPILE
----------------------------------------------------
---------
Th c hi n (Ví d 2) ự ụ ệ
ạ ECHO OFF Echo Echo Echo Path= C:\Program Files\Java\jdk1.7.0_01\bin Echo -----------Dich cac tap tin *.java del *.class javac *.java Echo ----Tao tap tin trung gian _Stub va _Skel cho doi tuong rmic CalculatorImpl start rmiregistry @pause
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• B6 : Ch y ch
ng trình trên server
(Server.bat)
ạ
ươ
CUA SO LAM VIEC CUA SERVER
CLS @ECHO OFF ECHO ============================================= ECHO ECHO ============================================= Path= C:\Program Files\Java\jdk1.7.0_01\bin set CLASSPATH=.;%CLASSPATH%; java CalculatorServer pause
Th c hi n (Ví d 2) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• B7 : Ch y ch
ng trình trên client
(Client.bat)
ạ
ươ
CUA SO LAM VIEC CUA CLIENT
CLS @ECHO OFF ECHO ============================================= ECHO ECHO ================================================== Path= C:\Program Files\Java\jdk1.7.0_01\bin set CLASSPATH=.;%CLASSPATH%; java CalculatorClient pause
Th c hi n (Ví d 2) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVA RMI Ớ Ể
• T ch c các l p t
i Client/Server
ổ ứ
ớ ạ
• Server - CalculatorServer.class - Calculator_Skel.class
• Client - CalculatorClient.class - CalculatorImpl.class - CalculatorImpl_Stub.class
Th c hi n (Ví d 2) ự ụ ệ
DUYTAN UNIVERSITY
PHÁT TRI N UD PHÂN TÁN V I JAVARMI Ớ Ể
build.bat, Server.bat, Client.bat
Th c hi n (Ví d 2) ự ụ ệ
• Lân l ta thu đ
t chay cac file : c kêt qua nh sau :
̀ ượ ượ
̉ ư
̣ ́
́
DUYTAN UNIVERSITY
ỹ
ậ
ủ
ộ ộ
ả
ệ
ấ ầ
t. ộ
ng
ừ
ề
ạ
ả
• Vi c m t h i nh p c a các k thu t khác ệ ậ t k m t h th ng phân tán v i nhau đ thi ớ ế ế ộ ệ ố ể i c i thi n đáng k , chia s kh năng ch u l ẻ ể ị ỗ ả tài nguyên, và hi u su t là r t c n thi ế ấ ệ • M t h th ng nh v y cung c p m t truy ư ậ ộ ệ ố ấ i các v trí c p li n m ch t i s d ng t ị ườ ử ụ ậ ạ đ a lý khác nhau và có ch c năng nh m t ư ộ ứ ị i s d ng truy c p máy tính o, cho phép ng ậ các tài nguyên m ng r ng l n nh ngày nay. ớ ộ
ườ ử ụ ư
ạ
K T LU N Ậ Ế
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Baì tâp lâp trinh Socket ̣ ̣ ̀
ng pháp đ thi ể
ộ ữ ươ
ươ ộ ươ
ạ
ứ ế ớ ́ ̉ ̀
• Socket: Socket là m t ph t l p ế ậ ng trình yêu c u k t n i truy n thông gi a m t ch ầ ề ế ố d ch v ( client) và m t ch ng trình cung c p d ch ị ị ấ ộ ụ v (server) trên m ng LAN, WAN hay Internet. ụ • Qua Socket các ti n trình co thê trao v i băng th c UDP hoăc TCP ̣
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i TCP ớ ̣ ̀
• T ng tác Client/Server qua TCP socket ươ
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i TCP ớ ̣ ̀
ặ ể ủ ậ
̀ ̉ ́
ậ ữ ể ủ ả
ạ ỉ
i server TCP ế ớ ạ
ữ ̣ ̀ ̣
• Đ c đi m c a l p trinh Socket TCP - Yêu câu phai co liên k t gi a Client và Server ế + Máy ch ph i m port đ nh n yêu c u t ầ ừ ở client + Client t o socket , ch rõ IP address & port Server + client TCP t o liên k t t -D liêu truyên dang byte -Ôn đinh, châm h n so v i UDP ớ ơ ̉ ̣ ̣
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i TCP ớ ̣ ̀
̀ ̣
ở ế ̣ ừ ̣ ̃ ̀ ́
̉ ̃ ̃
ng trinh hiên thi ban phim. c Server th c hi n đao chuôi đa ệ ươ ̣ ̀ ̉ ̣
• Bai tâp 1 Client g i đ n Server môt chuôi nhâp t Sau khi nh n đ ự ậ ượ t ch cho va g i lai cho Client. Vi ế ̀ ở chuôi đo trên man hinh Client. ̃ ́ ̀ ̀
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Bai 1̀
• Ch ng trinh trên Server ươ ̀
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Bai 1̀
• Ch ng trinh trên Server ươ ̀
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Bai 1̀
• Ch ng trinh trên Client ươ ̀
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Bai 1̀
• Ch ng trinh trên Client ươ ̀
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Bai 1̀
• Kêt qua ́ ̉
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• T ng tác Client/Server qua UDP socket ươ
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
ặ ể ủ ậ
ế
ắ
ủ
ậ
ng ố ệ ổ ươ ị
ỗ ẽ ng bên trong gói tin
ặ ế
• Đ c đi m c a l p trinh Socket TCP - UDP : không có liên k t gi a client và ữ + không có giai đo n b t tay ạ + bên g i ch rõ IP address và port number c a phía ỉ ử nh n trên m i gói tin + server s tìm đ a ch IP và s hi u c ng t ỉ ứ - UDP: các gói tin có th b m t ho c đ n không theo ể ị ấ th tứ ự
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
̀ ̣
t 2 sô nguyên nhâp t ở ế ́
̀ ́ ̀ ́ ̉ ̉ ̀
t ch ươ ở ́ ̣ ̀
• Bai tâp 2 Client g i đ n Server lân l ̣ ừ ̀ ượ ban phim, yêu câu Server tinh tông cua 2 sô nay. Sau ng trinh khi tinh xong, g i lai cho Client. Vi ế hiên thi kêt qua đo trên man hinh Client. ̉ ̣ ́ ̉ ́ ̀ ̀
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Phia Server ́
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Phia Server ́
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Phia Server ́
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Phia Client ́
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Phia Client ́
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Phia Client ́
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Phia Client ́
DUYTAN UNIVERSITY
H NG DÂN BAI TÂP MÔN HOC ƯỚ ̃ ̀ ̣ ̣
Lâp trinh Socket v i UDP ớ ̣ ̀
• Kêt qua ́ ̉
DUYTAN UNIVERSITY
Colin
(February
Fidge
J.
[1]. 1988). "Timestamps in Message-Passing Systems That Preserve the Partial Ordering" . In K. Raymond (Ed.). Proc. of the 11th Australian Computer Science Conference (ACSC'88). pp. 56–66. Retrieved 2009-02-13.
[2].Mattern, F. (October 1988), "Virtual Time and Global States of Distributed Systems", in Cosnard, M., Proc. Workshop on Parallel and Distributed Algorithms, Chateau de Bonas, France: Elsevier, pp. 215–226
Paulo;
Carlos;
Fonte,
Victor in
(2008), Baquero, [3].lmeida, "Interval Tree Clocks: A Logical Clock for Dynamic Systems", Baker, Theodore P.; Bui, Alain; Tixeuil, Sébastien, Principles of Distributed Systems, Lecture Notes in Computer Science, 5401, Springer-Verlag, Lecture Notes in Computer Science, pp. 259–274
[4]. Torres-Rojas, Francisco; Ahamad, Mustaque (1999), "Plausible clocks: constant size logical clocks for distributed systems", Distributed Computing (Springer Verlag) 12 (4): 179–195
TÀI LI U THAM KH O Ả Ệ
DUYTAN UNIVERSITY
[5]. S. Mullender ed., "Distributed Systems", 2nd ed., Addison-Wesley, 1993 [6]. Jie Wu, "Distributed Systems Design", Addison-Wesley, 2008 [7]. G. Coulouris, J. Dollimore, T. Kinberg, "Distributed systems : Conceptand Design“, Australia. IASTED, ACTA Press
TÀI LI U THAM KH O Ả Ệ