Föreläsningar
Här hittar du en kort beskrivning av vad som behandlades/planeras behandlas under de olika föreläsningarna tillsammans med referenser till relevanta avsnitt i kurslitteraturen. Overheadbilderna från föreläsningarna kommer även att finnas tillgängliga här och de läggs normalt upp senast samma dag som föreläsningen genomförs. Planeringen är preliminär.
Föreläsning 1 (20/3)
Innehåll: Kursintroduktion. Nätverksbegrepp. Protokoll. Meddelandesändning med UDP. Multicast.
Java Network Programming: 1-45,150-176,423-457,470-492
- Overheadbilder - en bild per sida
- Overheadbilder - fyra bilder per sida
- Exempelprogram 1: Lookup.java
- Exempelprogram 2: Sender.java Receiver.java
- Exempelprogram 3: MCSender.java MCReader.java
Föreläsning 2 (21/3)
Innehåll: Java I/O - strömmar. Meddelandesändning med TCP. Icke-blockerande I/O.
Java Network Programming: 67-104, 275-341, 384-422
- Overheadbilder - en bild per sida
- Overheadbilder - fyra bilder per sida
- Exempelprogram 1: SimpleTelnet.java
- Exempelprogram 2: ToUpperServer.java
- Exempelprogram 3: raclient.c raserver.c
- Exempelprogram 4: EchoServer.java
Föreläsning 3 (10/4)
Innehåll: Trådar (threads)
Java Network Programming: Chapter 5, pages 105-149.
- Overheadbilder
- Exempelprogram: Threads.zip
- Links to useful documents:
- A tutorial available from Oracle: Concurrency
Föreläsning 4 (11/4)
Innehåll: Mera om TCP. Protokoll och serverarkitektur.
Java Network Programming: 346-362, 384-422
- Overheadbilder - en bild per sida
- Overheadbilder - fyra bilder per sida
- Exempelprogram 1: NIOReader.java
- Exempelprogram 2: NIOServer1.java
- Exempelprogram 3: NIOServer2.java
- Exempelprogram 4: NIOServer3.java
Föreläsning 5 (17/04)
Innehåll: URL and HTML
Java Network Programming: Chapter 7, pages 184-222, Chapter 8, pages 248-266.
- Overheadbilder
- Exempelprogram: URL.zip
- Links to useful documents:
- A tutorial available from Oracle: Working with URLs
- The URL/URI specifications: RFC 2396 and 2732 from IETF
- The URL parsing algorithm
- Examples from the textbook
- The HTTP protocol
- The HTML standard
Föreläsning 6 (18/04)
Innehåll: XML, XML och Java, parsning av XML.
- Overheadbilder
- Exempelprogram: XML.zip
- A web page using XML and XSLT to produce HTML [xml]. The XSLT program [xslt] and the DTD [dtd]
- Links to useful documents:
- General tutorials:
- A free and extremely clear sample chapter from Learning XML, 2nd Edition by Eric T. Ray, O'Reilly, 2003: Chapter 2: Markup and Core Concepts
- A tutorial available from Elliotte Rusty Harold: Processing XML with Java , 2002
- A comprehensive tutorial available from Sun/Oracle: The J2EE 1.4 Tutorial , [pdf], Chapters 2, 4, 5, 6, and 7.
- XML standards:
- Endodings:
- The Unicode homepage.
- Libraries and demonstrations for locales.
- General tutorials:
Föreläsning 7 (24/4)
Innehåll: Webbapplikationer 1 - CGI, servlets, JSP.
Java Network Programming: 46-66, 99-100 (PrintWriter)
Core Servlets and Java Server Pages - Bok om servlets/JSP tillgänglig gratis via nätet. Minimal läsanvisning (övrigt översiktligt och efter intresse/behov):
- Kap.1: 1-1.4
- Kap.3: 3-3.3
- Kap.8: 8-8.5
- Kap.9: 9-9.1
- Kap.10: Hela, utom 10.5
- Kap.11-13: översiktligt
Övrigt:
- Overheadbilder - en bild per sida
- Overheadbilder - fyra bilder per sida
- Exempelprogram 1: temperatured.cgi (skärmdump)
- Exempelprogram 2: GuessingGame.java
- Exempelprogram 3: CookieGuess.java
- Exempelprogram 4: guessinggame.jsp
Föreläsning 8 (25/4)
Innehåll: Webbapplikationer 2 - PHP, JavaScript.
- Overheadbilder - en bild per sida
- Overheadbilder - fyra bilder per
- Exempelprogram 1: shoppinglist.php (skärmdump)
- Exempelprogram 2: square.html
- Exempelprogram 3: game.html
Länkar:
Föreläsning 9 (2/05)
Innehåll: Remote Method Invocation (RMI)
Java Network Programming: Chapter 18, pages 610-640
- Overheadbilder
- Exempelprogram (RMI): RMI.zip
- Links to useful documents:
- The RMI Home from Oracle: RMI
- A tutorial available from Oracle: Java Remote Method Invocation
- Another tutorial from Oracle: RMI
- Sun's Network File System specifications
Föreläsning 10 (15/05)
Innehåll: Strömmande media.
- Overheadbilder
- Links to useful documents:
- Streaming standards:
- Streaming applications:
- SIP:
- Sailfin: a SIP application server.
- Optional programming assignment:
- An interesting programming assignment to develop a RTP streaming server that you may want to carry out. The page contains a partial Java implementation that you have to complete. This optional assignment could be of interest if you want to deepen your knowledge of streaming media.
- And a solution by Sumit Khanna for hasty readers...
Föreläsning 11 (16/05)
Innehåll: Webbprotokoll och webbarkitekturer.
Java Network Programming: Chapter 15
- Overheadbilder
- Optionally, you may read Chapters 16 and 17 on protocol and content handling. Protocol and content handling will not be part of the examination program however.
- Documents:
- The URL constructor that outlines how protocols and content are handled
- The URLConnection class
- The MIME specifications, part I (RFC 2045) and II (RFC 2046)
- Trivial file transfer protocol (TFTP): RFC 783
- JAX-RS: The Java API for RESTful Web Services, JSR 311
- Jersey, an open source, reference implementation for building RESTful Web services.
- The programs shown in the lecture [zip].