The reason backend developers need to know socket programming is to understand the basic principles of network communication and use them to develop a variety of server and network applications. Socket programming is a key skill for network-based backend systems, and knowing it allows you to design more efficient and reliable systems. HTTP will eventually return to being TCP/IP-based.
- Basic TCP Socket Programming
- Check
3-Way handshake
inWireshark
- TCP Echo Service Full Flow
- Creating a TCP Echo Server
- Waiting for Server socket
- How to receiving and communicating with Client socket
- Creating a TCP Echo Client
- Test Echo Client/Server and check out
Wireshark
- Check
- Socket I/O buffers
- What is
packet
andsegement
- How to work
Nagle algorithms
- The
TCP_NODELAY
option - Why the server sockets need
SO_REUSEADDR
option - Multi-thread Echo Server
- What is
- TCP Chat Server
- Multi-thread-based chat server structure
- Multi-thread-based chat server-client
- Forcing a server to crash
- MFC Chat Server and Client (just viewed)
- What is I/O multiplexing
- With I/O multiplexing and event
- Send/receive files and Protocol design
- Create a file transfer server and client
- What is
Zero-window
- Create a file sending server with a protocol
- What is
Lookup Table
- Improve server performance
- Event-driven asynchronous file I/O
- Callback-driven asynchronous file I/O
- Why occur a blue screen
- IOCP Model
- UDP and Broadcasting
- Send/receive UDP broadcasts
- DNS query methods
- Simple HTTP, FTP Client