| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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)
- }
- */
- }
|