Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez javiergs@calpoly.edu www.javiergs.info o ffi ce: 14 -227 CSC 305 Individual Software Design and Development Lecture 22. Architecture (Distributed Systems)

Slide 2

Slide 2 text

Collaboration 2 Stu C St F M Pe St C S F M Pe

Slide 3

Slide 3 text

Architecture 3

Slide 4

Slide 4 text

Architecture 4 Stu C St F M Pe Stu C St F M Pe

Slide 5

Slide 5 text

Communication Protocols Sockets • - Wh a t: Low-level communic a tion mech a nism for exch a nging d a t a between two systems. • - How: Utilizes TCP/UDP protocols for reli a ble/unreli a ble d a t a tr a nsfer. • - Use C a se: Direct communic a tion between client-server a pplic a tions (e.g., f ile tr a nsfer a nd ch a t). WebSockets • - Wh a t: Full-duplex communic a tion protocol over a single TCP connection. • - How: En a bles persistent, bidirection a l communic a tion between client a nd server in re a l- time. • - Use C a se: Re a l-time a pplic a tions like live ch a ts, g a ming, a nd stock tr a ding pl a tforms. MQTT (Mess a ge Queuing Telemetry Tr a nsport) • Wh a t: Lightweight mess a ging protocol designed for low-b a ndwidth, high-l a tency networks. • How: Uses a publish-subscribe p a ttern for e ff icient communic a tion between devices. • Use C a se: Ide a l for IoT a pplic a tions, sm a rt home devices, a nd sensor networks. 5

Slide 6

Slide 6 text

Client-Server Sockets

Slide 7

Slide 7 text

Client-Server 7

Slide 8

Slide 8 text

Implementation :: Server 8 chrestomathy: https://www.javatpoint.com/socket-programming

Slide 9

Slide 9 text

Implementation :: Client 9 chrestomathy: https://www.javatpoint.com/socket-programming

Slide 10

Slide 10 text

Pong 10 https://github.com/CSC3100/Pong-Game

Slide 11

Slide 11 text

Questions 11

Slide 12

Slide 12 text

Create a UML Diagram 12 https://github.com/CSC3100/Pong-Game

Slide 13

Slide 13 text

Lab

Slide 14

Slide 14 text

CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D. javiergs@calpoly.edu Summer 2024 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.