DM091 - 3. semesterUgeplan for Softwarearkitektur og Distribuerede ProgrammerTema: Tråde og socket - Gå til uge: 33, 34, 35, 36 |
Sidst ændret: 2010.09.09
Uge 33 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50
|
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 - 11:50 | 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)
Trådeksempel1 |
- 14:00 | Opgaveløsning (socket opgave 4-5) | Opgaver med socket server og socket-klient |
Afleveringsopgaver (obligatoriske) denne uge: Socket-opgave 5 |
(*) 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 34 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50
|
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) | |
Torsdag | 08:30 - 11:50
|
SocketEchoComandBased (eksempler med opdeling i kommunikation og
behandling) Indeholder tekstfil med indholdsbeskrivelse og PowerPoint Medtages: - SocketServerCmdBasedStatic - SocketServerCmdConnected - SocketServerCmdDisconnected_V01 |
|
- 14:00 | Opgaveløsning | Trådopgaver (1-6) |
Afleveringsopgaver (obligatoriske) denne uge: Trådopgave 3, 4 |
(*) 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 |
Mandag | 08:30 - 11:50
|
Synkronisering af tråde Trådsikre klasser, monitor Eksempler på synkronisering Producer-Consumer mønsteret (push - pull)
Flere eksempler på brug af Producer-Consumer mønsteret (push - pull) |
.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ådeksempel_Parkeringshus_NO_pulseall
|
- 14:00 | Opgaveløsning (tråd opgave 7) (spørgsmål 1 er obligatorisk) |
Trådopgaver (7-8) Til opgaver kan du tage udgangspunkt i følgende: Trådeksempel_Parkeringshus_wait_notify |
|
Tirsdag | 08:30 - 10:00
|
Observer mønster - delegate / event Om tråde og GUI - Invoke |
C# to the point (***) kap 11.1 om
delegater C#(*) kap 3.7 (Delegater)
Delegater Ekstra læsestof fra wikipedia
(publish/subscribe): |
- 14:00 | Opgaveløsning (tråd opgave 9 obligatoriske) | Opgave 9 - termometer med alarm-event | |
Torsdag | 08:30 - 11:50 | Opsamling på opgaver Observer
mønster Om tråde og GUI - Invoke
|
ObserverPattern_CascadeEvent |
- 14:00 | Opgaveløsning (9 og 10)
- begge er obligatoriske Hvis di har problemer med opgave 9, kan du evt. se en trinvis udvikling her: http://bjoerks.net/Csharp/Modeller/TraadTermoMeterMedAlarn_V01_V05.zip Men husk at løse opgaven selv, selv om du har kigget i en løsning. |
Opgave 9 - termometer med alarm-event Opgave 10 med øl-sodavand soteringsanlæg Til opgave 10 er følgende også relevant (du kan "stjæle" bufferklasse her) TrådEksempel9_ProducerConsumer_Buffer |
Afleveringsopgaver (obligatoriske) denne uge: Trådopgave 7 spørgsmål 1, 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 36 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50 |
Mere design med tråde: |
Opgave 10 med øl-sodavand soteringsanlæg
|
- 14:00 | Opgaveløsning (10)
- obligatorisk |
Opgave 10 med øl-sodavand soteringsanlæg Til opgave 10 er følgende også relevant (du kan "stjæle" bufferklasse her) TrådEksempel9_ProducerConsumer_Buffer |
|
Tirsdag | 08:30 - 10:00
|
Opsamling på opgaver
Socket-chatserver design: Broadcasting 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 |
Chat server design i trin mod observer-mønster ekstra: tilsvarende design for echoserver -> service klasse
Slides om Proxy mønster
|
- 14:00 | Opgaveløsning (10)
- obligatorisk |
Opgave 10 med øl-sodavand soteringsanlæg Til opgave 10 er følgende også relevant (du kan "stjæle" bufferklasse her) TrådEksempel9_ProducerConsumer_Buffer |
|
Torsdag | 08:30 - 11:50 |
Forsættelse af tirsdagens emner Projektbeskrivelse for det obligatoriske projektarbejde som skal finder sted i uge 37 er nu klar
HTTP protokollen brugt på en
socket forbindelse. |
Slides om Proxy mønster
Program til test af tekst kommunikation over socket |
- 14:00 | Opgaveløsning (10)
- obligatorisk |
Opgave 10 med øl-sodavand soteringsanlæg Til opgave 10 er følgende også relevant (du kan "stjæle" bufferklasse her) TrådEksempel9_ProducerConsumer_Buffer |
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 |