English
Topic 9. Programming network applications with Socket
Goal: get to know the TCP/IP protocol stack, the TCP and UDP protocols, and the classes of the System.Net.Sockets namespace; learn to build client-server applications with asynchronous data exchange, define message boundaries and your own application protocol; master serving multiple clients, graceful shutdown, network error handling, and connection diagnostics.
Lecture contents
- Networking, TCP, UDP, and Socket — Networking basics · The TCP and UDP protocols · The Socket class
- TCP: client, server, and protocol — The TcpListener, TcpClient, and NetworkStream classes · The listening address and Windows Firewall · Message boundaries in a TCP stream · An application protocol
- Serving multiple clients — Serving multiple clients
- UDP, errors, and diagnostics — UDP and broadcast messages · Errors, timeouts, and security · Diagnosing network applications
- Common mistakes — Common mistakes