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:///tên RemoteObject”,RemoteObject); ng trình Client:

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 ớ • Biên d ch ch ươ • Ch y ch ng trình ươ ạ - ch y rmiregistry ạ - ch y server ạ - ch y client ạ

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 Ả Ệ

DUYTAN UNIVERSITY

THANKS !

DUYTAN UNIVERSITY