COMP 348 — Practical Java Network Programming
Sockets, protocols, and servers — typed line by line
A full Java networking course: the TCP/IP layer model and which java.net class lives at which layer, stream and reader I/O, the concurrency a server actually needs (threads, executors, and why the accept loop must not block), URIs and URLConnection, HTTP as a protocol you read and write by hand, client and server sockets, a working multithreaded HTTP server, protocol design as a finite state machine, RMI, JavaMail, non-blocking I/O with buffers, channels and selectors, and TLS, UDP and multicast. Every Java idiom is typed, not skimmed, and every module carries the exam framing and the pitfall that costs marks.
0 / 68 lessonsThe network underneath Java
35 cardsStreams: the I/O every socket speaks
24 cardsConcurrency for network programs
30 cards- Why network code is concurrent, and how to start a thread ◈ 4
- Getting a result back out ◈ 5
- Synchronization, and choosing what to lock ◈ 5
- Not locking: confinement, immutability, safe collections, deadlock ◈ 5
- Thread pools: `ExecutorService`, `Callable`, `Future` ◈ 5
- Worked build: a pooled weblog analyser ◈ 6