DMU 2015 - 3. semester - oeadm15edD, oeadm15eiCWeekly plan for Programming
|
Sidst ændret: 2016.09.07
Uge 34 Goals for this week:
|
|||
Dag | Tidspunkt | Emne | Literature / Exercises |
Torsdag | 08:15 - |
Network Programming with Socket |
.Net app(**) kap 4.4
(Socket) - look also later in the week schedule for further reading Slides om socket part 1 (nokn)
Example of a simple socket server and client Programs for testing
socketconnections: |
Problem solving with support from
the teacher - Discuss and compare, and help each other, but be sure even that code individually you are expected to work with socket assignment 1-6 |
Exercices about socket server and socket-client | ||
- 15:30 | possibly review of exercise 3+4 from last session (one/more students
present solutions) |
(*) Core C# and
.NET, Stephen C. Perry - see Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - see Fronter (***) C# To the point -.., Hanspeter Mössenböck - - see Fronter |
|
Additional material for those who wish more
reading material about socket: An Introduction to Socket Programming in .NET using C# - CodeProject Socket Code Examples (MSDN) Using TCP Services (Socket server and klient - MSDN) How to C# Socket programming (csharp.net-informations.com) Network socket - Wikipedia, the free encyclopedia |
Additional material for those who wish more reading material about
threads Multithreaded Programming Using C# - CodeProject MSDN -Thread Class -Threading Objects and Features -Thread Pooling -Timer -Monitor -Interlocked -ReaderWriterLock |
Preliminary
Uge 35 | |||
Goals for this week:
Preparation: please before
meeting studdy materials of delegates / event, observer and
threads, which at least in part you should be familiar with from the
1st years of studdy. |
|||
Dag | Tidspunkt | Emne | Literature / Exercises |
Torsdag | 08:30 - | Summarizing on socket server &
client |
Kodeeksempel på trådet server - opgave 4 løsning |
Summarizing? about
threads and
synchronization
|
Core C# (*) kap 13.1
(Thread intro) .Net app(**) kap 4.3.1-4.3.3 (Thread) Slides about threads and synchronization - (Samme på dansk) ObserverPattern_Tråde_og_Gui_Winform_og_WPF Tråde-og-GUI (the core substance - the trick in the above) |
||
Design Considerations - The first tentative attempts at further improvements in the treatment of client (server-side) - separation of communications and business logic |
SocketEchoComandBased (examples for separating communication and
bussiness logic) Contains tex file with content and also PowerPoint presenting the design considerations / effects Contains: - SocketServerCmdBasedStatic - SocketServerCmdConnected - SocketServerCmdDisconnected_V01 |
||
- Proxy pattern (same interface on server and klient) |
Slides om Proxy mønster Eksempel på brug af proxy-mønster til echoservice'en fra tidligere Elements will also be included in tne next example |
||
- Design with windows and console
client - Design with continued communication without blocked
thread on the server (using of session) |
SocketEchoComandBased (examples for separating communication and
bussiness logic) Contains tex file with content and also PowerPoint presenting the design considerations / effects Contains: - SocketServerCmdBasedStatic - SocketServerCmdConnected - SocketServerCmdDisconnected_V01 |
||
Problem solving with support from
the teacher - Discuss and compare, and help each other, but be sure even that code individually you are expected to work with socket assignment 5-6 Try to refactor your solution seperating the (business) logic from the communication on the server and if posibly thnen use the proxy pattern when making the client. |
Exercices about socket server and socket-client
|
||
12:15 |
Summarizing? about delegate/event
& observer - In generel about elegate, - Observer pattern using med delegate / event
|
C# to the point (***) kap 11.1
about
delegater C#(*) kap 3.7 (Delegates) Delegater examples ObserverPattern ObserverPattern_CascadeEvent Exstra reading from wikipedia
(publish/subscribe): |
|
Socket-chatserver design: Broadcasting - push / observer |
Examples of design opportunities: Chat server design in step towards the observer-pattern |
||
Exercise contionued (socket 1-6) If you are finish with the
socket exercise 1-6 (refactoring using proxy pattern and
seperating comm. and logic) you could make the game (exercise 6)
for a shared game for more than one client. You might also try
to make it posibly to run the game only connecting for send one
request and getting one response - keeping the state on either
serverside or client side. |
|||
14:30?- 15:30 | possibly review of exercise
5+6 from last session (one/more students
present solutions) |
(*) Core C# and
.NET, Stephen C. Perry - see Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - see Fronter (***) C# To the point -.., Hanspeter Mössenböck - - see Fronter |
|
Additional material for those who wish more
reading material about socket: An Introduction to Socket Programming in .NET using C# - CodeProject Socket Code Examples (MSDN) Using TCP Services (Socket server and klient - MSDN) How to C# Socket programming (csharp.net-informations.com) Network socket - Wikipedia, the free encyclopedia |
Additional material for those who wish more reading material about
threads Multithreaded Programming Using C# - CodeProject MSDN -Thread Class -Threading Objects and Features -Thread Pooling -Timer -Monitor -Interlocked -ReaderWriterLock |
Uge 36 | |||
Goals for this week:
Preparation: please have
previously made you quite clear on what you may lack of
knowledge about threads in relation to the needs of the project
1. |
|||
Dag | Tidspunkt | Emne | Literature / Exercises |
Mandag | 08:15 - | Follow up on exercises from
last week
Follow up on
Socket-chatserver design: Broadcasting |
Examples of design opportunities: Chat server design in step towards the observer-pattern |
Thread pattern / design templates
(follow up) - common resource - producer-consumer - observer (event) |
Slides about threads and synchronization - (Samme
på dansk)
Synchronizing/locking - design
with resource-monitor and thead-method objekt
Simple producer-consumer example - design follow up |
||
Follow up on design templates for
client side - remote facade / proxy - separation of business logic (includning remote connection) and user interface |
Look the following project in
SocketEchoComandBased - SocketClientMedRemoteFasade_ConsolApplikation - SocketClientMedRemoteFasade_WindowsApplication - SocketEchoServiceLibrary here seperated project business and clientservice as facade and using proxy pattern Look at the following project in Chat server design in step towards the observer-pattern - ChatServerDesign_05_NoLock |
||
Simple client witch can send and
recieve at the same time parallel (multithreaded) - Possibly programming of simple chat-client in class - Multiple "return types" / asynchronous returns Discussion of posibly solutions for at chatservice / mailservice - push versus pull solutions / continous connect vesus only connectet for one request and response |
Based on code from
SocketEchoServiceLibrary and ChatServerDesign_05_NoLock Program witch can be used as som test-server, can be used for testing the client dialog Program for testing texst communication onr socket connection |
||
Exercise for the day - make a simple WPF chat client with sepperated send and recieve textbox for a chatserver Try to make a simple chatserver (using a pull approcah) where you can participate in the chat without being connecet all the time but can use a request for retrieving chat messages instead of broadcast directly to only connected clients. You can keep mesages at server in one collection (or more) - type depending of how you want the functionality |
You might use the Program for testing texst communication onr socket connection as a server for manuel testing the client. |
||
14:30 - 15:30 | Possibly. summarizing
and student(s) presentation of solutions for the exercies |
(*) Core C# and .NET,
Stephen C. Perry - see Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - see Fronter (***) C# To the point -.., Hanspeter Mössenböck - - see Fronter |
|
Additional material for those who wish more
reading material about socket: An Introduction to Socket Programming in .NET using C# - CodeProject Socket Code Examples (MSDN) Using TCP Services (Socket server and klient - MSDN) How to C# Socket programming (csharp.net-informations.com) Network socket - Wikipedia, the free encyclopedia |
Additional material for those who wish more reading material about
threads Multithreaded Programming Using C# - CodeProject MSDN -Thread Class -Threading Objects and Features -Thread Pooling -Timer -Monitor -Interlocked -ReaderWriterLock |
Uge 37 | |||
Goals for this week:
Preparation: Read about HTTP on wiki (se link in plan) - you might also install fiddler (se link in plan) before lecture
|
|||
Dag | Tidspunkt | Emne | Literature / Exercises |
Torsdag | 08:15 - | A bit more about protocols (we will be looking a bit on http) primary read about GET and the examples |
http://en.m.wikipedia.org/wiki/Http#Technical_overview (read
briefly before lecture) http://en.m.wikipedia.org/wiki/Http#Example_session (read before lecture)
|
Use of WebClient for HTTP client communikation - web request |
WebClientDemoConsoleApplication.zip | ||
Problem solving with support from
the teacher - Discuss and compare, and help each other, but be sure even that code individually Exercises with socket and the http protocol |
Exercises using socket and the HTTP protokol - (Samme
på dansk)
|
||
- 15:30 | Possibly. summarizing and student(s) presentation of solutions for the exercies |