DM11x - 3. semesterUgeplan for Softwarearkitektur og Distribuerede ProgrammerTema: Tråde og socket - Gå til uge: 34, 35, 36, 37 |
Sidst ændret: 2012.09.10
Uge 34 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Tirsdag | 08:30 - | Netværksprogrammering med Socket Eksempel på socket-klient og socket-server
Aftestning
af server kan starte med brug af Telnet der også kan køres fra
komandoprompt |
.Net app(**) kap 4.4
(Socket)
Slides om socket part 1 (nokn)
Eksempel på simpel socket server og klient Programmer til test af
socketforbindelser: |
- 14:00 | Opgaveløsning (socket opgave 1-4) | Opgaver med socket server og socket-klient | |
Onsdag | 08:30 - | Gennemgang af opgave 1+2 fra
sidste gang Delegater (intro) Trådning (intro) Kodeeksempel på trådet server |
C# Network
programming
s. 354-358 (Socket) Core C# (*) kap 13.1 (Thread intro) Core C#(*) kap 3.7 om Delegates (se Fronter) C# to the point (***) kap 11.1om Delegates (se Fronter) .Net app(**) kap 4.3.1-4.3.3 (Thread)
Slides om socket part 2 multitrådet (nokn) |
- 10:00 | Opgaveløsning (socket opgave 4-5) | Opgaver med socket server og socket-klient | |
10:20 - | Gennemgang af socket-opgave 3-5 fra
sidste gang
Kodeeksempler Synkronisering af tråde Design med tråde
|
.Net app(**) kap 4.3.1-4.3.3 (Thread) Core C# (*) kap 13.1 (Thread intro) Core C# (*) kap 13.4 (Thread Synchronization) Slides om tråde og synkronisering
Trådeksempel1 - primitiv enkel tråd
Trådeksempel5_Sync - synkronisering - primitiv uden resource-monitor
Den designmæssige gode løsning:
Supplement fra internettet:
evt. alternativ /uddybende om tråde - Core
C#(*) kap 13.3
(Working with Thread) |
|
- 14:00 |
Opgaveløsning (trådopgaver 1-6) Løsningseksempel på trådopgave 5 version1 |
Trådopgaver (1-6) | |
Fredag | 08:30 - | Opsamling på tråde? Fortsættelse fra sidste fredag: Kontrakt for undervisning/forventningsafstemning |
|
- 10:00 |
Afleveringsopgaver (obligatoriske) denne uge: Socketopgave 5 - Der skal desuden afleveres en status på trådopgaver (hvor langt er du nået / er der problemer?) |
(*) Core C# and .NET,
Stephen C. Perry - se Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter (***) C# To the point -.., Hanspeter Mössenböck - - se Fronter |
Uge 35 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Tirsdag | 08:30 - | Opsamling på tråde fra sidste uge Synkronisering af tråde
Design af tråde og fælles resourcer Producer-Consumer mønsteret (push - pull) |
Om tråde se også sidste onsdag Slides om tråde og synkronisering
Supplement fra internettet:
evt. alternativ /uddybende om tråde - Core
C#(*) kap 13.3
(Working with Thread)
Den designmæssige gode løsning:
Trådeksempel_Parkeringshus_NO_pulseall |
Opgaveløsning (trådopgaver 1-6) Løsningseksempel på trådopgave 5 version1 Opgaveløsning (tråd opgave 7) (spørgsmål 1 er obligatorisk) |
Trådopgaver (1-6)
Trådopgaver (7-8) |
||
Design af socket-programmering
- fortsat Oplæg til chat-server (delvis udskudt) Lidt om protokoller (vi ser kort på http) (udskudt)
|
SocketEchoComandBased (eksempler med opdeling i kommunikation og
behandling) Programmer til test af
socketforbindelser: |
||
- 14:00 |
Emner flyttet frem fra
torsdag (grundet nogle skal med hyttetur med 1.år næste uge og
vil være fraværende tirsdag) Flere eksempler på brug af Producer-Consumer mønsteret (push - pull) Lidt generelt om delegater - vi tager lidt hul på det |
TrådEksempel9_ProducerConsumer_Buffer
|
|
Torsdag | 08:30 - | Opsamling på tirsdagen - Producer-Consumer |
|
|
Emner flyttet frem fra
torsdag (grundet nogle skal med hyttetur med 1.år næste uge og
vil være fraværende tirsdag) Observer mønster (intro) - delegate / event
|
C# to the point (***) kap 11.1 om
delegater C#(*) kap 3.7 (Delegater) ObserverPattern ObserverPattern_CascadeEvent Ekstra læsestof fra wikipedia
(publish/subscribe): |
|
- 14:00 | Opgaveløsning på egen
hånd (tråd opgave 7 og 8) Du kan få hjælp ved at se på løsningen hvis du går helt i stå, men brug denne mulighed med omtanke og prøv selv at løse opgaven først og hvis du ser løsningen, så prøv bagefter på egen hånd forfra. Løsning af trådopgave 7.1 P-HUS: Producer-Consumer & Guarded Suspention Opgaveløsning (tråd opgave 9 - obligatorisk til næste uge) |
Trådopgaver (7-8)
|
|
Fredag | 08:30 - | Om tråde og GUI - Invoke | |
- 10:00 | Opgaveløsning på egen
hånd (tråd opgave 7 og 8) Opgaveløsning (tråd opgave 9 - obligatorisk til næste uge) Du
kan få hjælp ved at se på løsningen hvis du går helt i stå, men
brug denne mulighed med omtanke og prøv selv at løse opgaven
først og hvis du ser løsningen, så prøv bagefter på egen hånd
forfra. |
Afleveringsopgaver (obligatoriske) denne uge: Trådopgave 7 spørgsmål 1 |
(*) Core C# and .NET,
Stephen C. Perry - se Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter (***) C# To the point -.., Hanspeter Mössenböck - - se Fronter |
Uge 36 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Tirsdag | 08:30 - | Opsamling på emnerne fra sidste uge | |
- 14:00 |
Opgaveløsning (tråd opgave 9)
Du kan få hjælp ved at se på løsningen hvis du går helt i
stå, men brug denne mulighed med omtanke og prøv selv at løse
opgaven først og hvis du ser løsningen, så prøv bagefter på egen
hånd forfra. |
Opgave 9 - termometer med alarm-event | |
Torsdag | 08:30 - | Opsamling på opgaver fra sidste uge Mere design med tråde: |
|
Design af socket-programmering
- fortsat Oplæg til chat-server Lidt om protokoller (vi ser kort på http)
|
SocketEchoComandBased (eksempler med opdeling i kommunikation og
behandling) Indeholder tekstfil med indholdsbeskrivelse og PowerPoint Medtages: - SocketServerCmdBasedStatic - SocketServerCmdConnected - SocketServerCmdDisconnected_V01 Programmer til test af
socketforbindelser: |
||
Socket-chatserver design: Broadcasting - push / observer |
Eksempel på design-muligheder: Chat server design i trin mod observer-mønster ekstra: tilsvarende design for echoserver -> service klasse |
||
- 14:00 | Opgaveløsning (tråd opgave 9)
Opgaveløsning (tråd opgave 10 - obligatorisk til næste
uge) |
Opgave 9 - termometer med alarm-event | |
Fredag | 08:30 - | Opsamling på opgaver og emner fra
torsdag evt. lidt om http protokol med specielle klasser hertil |
|
- 10:00 |
Afleveringsopgaver (obligatoriske) denne uge: Opgave 9 (termometer-alarm-monitor) |
(*) Core C# and .NET,
Stephen C. Perry - se Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter (***) C# To the point -.., Hanspeter Mössenböck - - se Fronter |
Uge 37 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Tirsdag | 08:30 - |
Proxy-mønsteret
Diskussion af ideer og design af chatserver med brug af producer-consumer mønster med buffer og mulighed for ikke at holde socket åben under hele chat'en |
Slides om Proxy mønster
|
- 14:00 |
Opgaveløsning (tråd opgave
10 - obligatorisk) Du kan få hjælp ved at se på løsningen hvis du går helt i stå, men brug denne mulighed med omtanke og prøv selv at løse opgaven først og hvis du ser løsningen, så prøv bagefter på egen hånd forfra. Løsning af trådopgave 10 Øl & Vand: Producer-Consumer Pattern med Splitter |
Opgave 10 med øl-sodavand soteringsanlæg | |
Torsdag | 08:30 - | Opsamling på tråd og
socketopgaverne til nu Kommunikation på lidt højere
abstraktionsniveau
|
Om WebClient klassen: |
- 14:00 |
Opstart af Projekt 1 (tilgang vil fremgå af nyhed i fronter-rum) | ||
Fredag | 08:30 - | Projektarbejde | |
- 10:00 |
Afleveringsopgaver (obligatoriske) denne uge: Opgave 10 (øl-vand sorterings simulering) |
(*) Core C# and .NET,
Stephen C. Perry - se Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter (***) C# To the point -.., Hanspeter Mössenböck - - se Fronter |