package main import ( "fmt" "io" "log" "net" "os" "time" ) func main() { // client() // server() testServer() } func testServer() { listener, err := net.Listen("tcp", "localhost:8081") if err != nil { log.Println(err) } conn, err := listener.Accept() if err != nil { log.Println(err) } defer conn.Close() conn.Write([]byte("message")) time.Sleep(10) conn.Write([]byte("mesSaGe")) time.Sleep(10) conn.Write([]byte("MESSAGE")) } func client() { // Подключенине к серверу conn, err := net.Dial("tcp", "142.251.39.142:80") if err != nil { log.Println(err) } defer conn.Close() // Чтение данных с сервера message := make([]byte, 1024) // создаем буфер n, err := conn.Read(message) if err != nil { log.Println(err) } fmt.Println(string(message[:n])) // Вывод данных в консоль io.Copy(os.Stdout, conn) } func server() { listener, err := net.Listen("tcp", "localhost:80") if err != nil { fmt.Println("Error:", err) return } defer listener.Close() /* for { conn, err := listener.Accept() if err != nil { fmt.Println("Error:", err) continue } go handleConnection(conn) } */ /* // Создаём слушатель для порта ln, err := net.Listen("tcp", "localhost:80") if err != nil { log.Println(err) } defer ln.Close() for { conn, err := ln.Accept() if err != nil { log.Fatal(err) } go func(c net.Conn) { io.Copy(c, c) c.Close() }(conn) } */ /* // Принимаем входящие подключения conn, err := ln.Accept() if err != nil { log.Println(err) } _, err = conn.Write([]byte("message")) if err != nil { log.Println(err) } */ }