DevGang
Авторизоваться

Golang: простой сервер TCP и TCP-клиент

Golang - это новый язык программирования. Это компилируемый язык программирования, который работает на многих платформах; он обеспечивает расширенный доступ к системе и памяти в отличие от других языков веб-программирования. Существует несколько легко доступных пакетов, которые расширяют функциональность Go без создания своих велосипедов.

Чтобы скомпилировать и запустить программу, сначала установите golang. Затем создайте эти два файла:

ТСР-server.go:

package main

import "net"
import "fmt"
import "bufio"
import "strings" // требуется только ниже для обработки примера

func main() {

  fmt.Println("Launching server...")

  // Устанавливаем прослушивание порта
  ln, _ := net.Listen("tcp", ":8081")

  // Открываем порт
  conn, _ := ln.Accept()

  // Запускаем цикл
  for {
    // Будем прослушивать все сообщения разделенные \n
    message, _ := bufio.NewReader(conn).ReadString('\n')
    // Распечатываем полученое сообщение
    fmt.Print("Message Received:", string(message))
    // Процесс выборки для полученной строки
    newmessage := strings.ToUpper(message)
    // Отправить новую строку обратно клиенту
    conn.Write([]byte(newmessage + "\n"))
  }
}

И затем tcp-client.go:

package main

import "net"
import "fmt"
import "bufio"
import "os"

func main() {

  // Подключаемся к сокету
  conn, _ := net.Dial("tcp", "127.0.0.1:8081")
  for { 
    // Чтение входных данных от stdin
    reader := bufio.NewReader(os.Stdin)
    fmt.Print("Text to send: ")
    text, _ := reader.ReadString('\n')
    // Отправляем в socket
    fmt.Fprintf(conn, text + "\n")
    // Прослушиваем ответ
    message, _ := bufio.NewReader(conn).ReadString('\n')
    fmt.Print("Message from server: "+message)
  }
}

Сначала запустите сервер, go run tcp-server.go. Затем запустите клиент go run tcp-client.go. Затем вы можете ввести сообщение в клиенте, и сервер будет использовать его и отправить обратно клиенту.

Эта программа является очень простым примером и не включает обработку ошибок. Но вы получите общее представление о том, как начать писать простую программу Golang, которая создала TCP-сервер и клиент.

#Golang
Комментарии 1
Anri 23.10.2021 в 16:03

Спасибо! Очень помогло понять

Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу