Проверяет знание базового механизма сетевого взаимодействия.
Сокет — это программный интерфейс для обмена данными между компьютерами по сети. Он работает как двусторонний канал: одна программа (сервер) слушает сокет, другая (клиент) подключается к нему. Например, веб-сервер открывает сокет на порту 80 для приёма HTTP-запросов.
Как работают сокеты:
Сервер:
Создаёт сокет, привязывает его к IP и порту.
Ожидает подключений (Listen).
ln, _ := net.Listen("tcp", ":8080") // Сокет слушает порт 8080
conn, _ := ln.Accept() // Ожидает клиентаКлиент:
Подключается к серверному сокету.
conn, _ := net.Dial("tcp", "server.com:8080")Типы сокетов:
TCP: Гарантирует доставку данных (используется в HTTP, gRPC).
UDP: Быстрый, без гарантий (стриминг, игры).
Сценарии:
Чат-приложения (обмен сообщениями).
API-серверы (приём HTTP-запросов).
Вывод: Сокеты — фундамент сетевого взаимодействия. Для высокоуровневых задач используйте gRPC или WebSockets.