Skip to content

wlsgur073/Windows-socket-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To be a better Backend Developer

Why you need to know socket programming

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.

What i learned

  • Basic TCP Socket Programming
    • Check 3-Way handshake in Wireshark
    • 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
  • Socket I/O buffers
    • What is packet and segement
    • How to work Nagle algorithms
    • The TCP_NODELAY option
    • Why the server sockets need SO_REUSEADDR option
    • Multi-thread Echo Server
  • 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

About

To be a better Backend Developer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published