Функция net.Dial

Функция net.Dial создает сетевое соединение с указанным адресом. Первый параметр принимает строку с типом сети, например, "tcp", "udp", "unix". Второй параметр принимает строку с адресом, например, "example.com:80" или "127.0.0.1:8080". Функция возвращает интерфейс net.Conn и ошибку.

Синтаксис

goconn, err := net.Dial(network, address)

Пример

Давайте установим TCP-соединение с сайтом "example.com" на порт 80:

gopackage main

import (
  "fmt"
  "net"
)

func main() {
  conn, err := net.Dial("tcp", "example.com:80")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  defer conn.Close()

  fmt.Println("Connected to", conn.RemoteAddr())
}

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

go"Connected to 93.184.216.34:80"

Пример

Давайте попробуем подключиться к несуществующему адресу:

gopackage main

import (
  "fmt"
  "net"
)

func main() {
  conn, err := net.Dial("tcp", "invalid.example.com:80")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  defer conn.Close()

  fmt.Println("Connected")
}

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

go"Error: dial tcp: lookup invalid.example.com: no such host"

Пример

Давайте установим UDP-соединение с локальным сервером:

gopackage main

import (
  "fmt"
  "net"
)

func main() {
  conn, err := net.Dial("udp", "127.0.0.1:8080")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  defer conn.Close()

  fmt.Println("UDP connection established")
}

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

go"UDP connection established"

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

  • функцию net.DialTimeout,
    которая устанавливает соединение с таймаутом
  • функцию net.Dialer,
    которая предоставляет расширенные настройки соединения
  • функцию net.Listen,
    которая создает сервер для прослушивания соединений
  • интерфейс net.Conn,
    который представляет сетевое соединение