РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1078 of 1593 menu

Функция net.Listen

Функция net.Listen используется для создания сетевого слушателя, который ожидает входящие соединения по указанному протоколу и адресу. В первый параметр передается строка с сетевым протоколом (например, "tcp", "udp", "unix"), во второй параметр передается адрес в формате "host:port" или путь для Unix-сокетов. Функция возвращает два значения: объект интерфейса net.Listener и ошибку error, которая будет не nil в случае неудачи.

Синтаксис

ln, err := net.Listen(network, address)

Пример

Давайте создадим TCP-слушатель на локальном порту 8080:

package main import ( "fmt" "net" ) func main() { ln, err := net.Listen("tcp", "127.0.0.1:8080") if err != nil { fmt.Println("Error:", err) return } defer ln.Close() fmt.Println("Listening on", ln.Addr()) }

Результат выполнения кода:

Listening on 127.0.0.1:8080

Пример

Теперь создадим UDP-слушатель на порту 8081:

package main import ( "fmt" "net" ) func main() { ln, err := net.Listen("udp", "0.0.0.0:8081") if err != nil { fmt.Println("Error:", err) return } defer ln.Close() fmt.Println("UDP listening on", ln.Addr()) }

Результат выполнения кода:

UDP listening on 0.0.0.0:8081

Пример

Для Unix-сокетов можно указать путь к файлу:

package main import ( "fmt" "net" ) func main() { ln, err := net.Listen("unix", "/tmp/unix.sock") if err != nil { fmt.Println("Error:", err) return } defer ln.Close() fmt.Println("Unix listening on", ln.Addr()) }

Результат выполнения кода:

Unix listening on /tmp/unix.sock

Смотрите также

  • функцию net.Dial,
    которая используется для установки соединения с удаленным хостом
  • функцию net.DialTimeout,
    которая устанавливает соединение с таймаутом
  • интерфейс net.Listener,
    который определяет методы для управления слушателем
  • функцию http.ListenAndServe,
    которая упрощает запуск HTTP-сервера
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить