Как работает net.Listener?

Middle
488 просмотров
AFK Offer AI

net.Listener — это интерфейс, который слушает входящие сетевые соединения. Вызываешь net.Listen("tcp", ":8080"), получаешь Listener, потом в цикле дёргаешь Accept() — он блокируется, пока не придёт новое соединение, и возвращает net.Conn. Каждое соединение обычно обрабатываешь в отдельной горутине. Когда хочешь остановить сервер — вызываешь Close() на листенере, и Accept() вернёт ошибку. Это базовый примитив, на котором построены все Go-серверы, включая http.Server.

Следующий вопрос

Что такое pipeline паттерн в Go?