От client SOCKET до listening SOCKET, kernel queue и отдельного connected SOCKET, возвращённого accept().
Диаграмма связывает базовый TCP lifecycle с конкретными вызовами Winsock. Client выполняет active open через connect(). Server сначала создаёт отдельный listening SOCKET: bind() связывает его с local address/port, listen() переводит в passive mode, а accept() возвращает другой connected SOCKET для конкретного peer.
Listening socket и accepted socket выполняют разные роли. Первый остаётся точкой приёма новых соединений; второй несёт data stream одного соединения. TCP handshake обрабатывает kernel stack, поэтому completed connection может уже ждать в очереди, даже если поток приложения ещё не вошёл в accept().
Введите числа или выберите пресет