ПРОДОЛЖЕНИЕ В СЛЕДУЩЕЙ ЧАСТИ Ждем ваше мнение и предложения в коментариях CLIENT package main import ( "net" "bufio" "log" ) func main() { for { conn, err := net.Dial("tcp", "127.0.0.1:8081") if err == nil { conn.Write([]byte("Hello\n")) for { message, err := bufio.NewReader(conn).ReadString('\n') if err == nil { log.Print(message) } } } } } Code package main import ( "net" "bufio" "log" ) func main() { for { conn, err := net.Dial("tcp", "127.0.0.1:8081") if err == nil { conn.Write([]byte("Hello\n")) for { message, err := bufio.NewReader(conn).ReadString('\n') if err == nil { log.Print(message) } } } } } SERVER package main import ( "net" "bufio" "log" "sync" "strings" ) var BOTS sync.Map func main() { log.Print("[SERVER] - Started") ln, err := net.Listen("tcp", ":8081") if err == nil { for { conn, err := ln.Accept() if err == nil { IP := strings.Split(conn.RemoteAddr().String(),":")[0] BOTS.Store(IP, conn) go func(conn net.Conn) { for { message, err := bufio.NewReader(conn).ReadString('\n') if err == nil { log.Print(message) } else { return } } }(conn) } } } } Code package main import ( "net" "bufio" "log" "sync" "strings" ) var BOTS sync.Map func main() { log.Print("[SERVER] - Started") ln, err := net.Listen("tcp", ":8081") if err == nil { for { conn, err := ln.Accept() if err == nil { IP := strings.Split(conn.RemoteAddr().String(),":")[0] BOTS.Store(IP, conn) go func(conn net.Conn) { for { message, err := bufio.NewReader(conn).ReadString('\n') if err == nil { log.Print(message) } else { return } } }(conn) } } } }
что-ж, голанг для такого рода софта - выбор, конечно, интересный одно дело его для сервера использовать, для клиента же - совершенно другое касаемо кода могу сказать лишь то, что текстовый протокол здесь не уместен, больше критиковать тут нечего смысл разделения на столь маленькие части мне не ясен, в конечном итоге читать всё это будет очень не удобно
iwakura_inactive7021651, Текстовый протокол? Это еще что значит? Из головы инфу берешь? Что не так с го для клиента? Аргументы жду
SexyWare, >Текстовый протокол а что, у нас теперь запись и чтение разделенных newline-ом строк в сокете не являются текстовым протоколом? или ты из любителей попереписывать свой же код? >Что не так с го для клиента? как минимум размер стаба и упрощение жизни реверсера