ПРОДОЛЖЕНИЕ В СЛЕДУЩЕЙ ЧАСТИ Ждем ваше мнение и предложения в коментариях 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, Чем плох метод отправить бинарник в base64?) Для лоудера за 15 минут это не имеет значения, Насчет размера, только дегенерат льет на чистый бинарник без пампа и склейки) По поводу реверса, из Go ты не вытянешь исходники, он комплириуется в машинный код!
iwakura_inactive7021651, Для Go не имеет значения что я шлю, я легко []byte переведу в string и в обратном порядке
SexyWare, >Чем плох метод отправить бинарник в base64?) да банальным оверхедом >Для лоудера за 15 минут это не имеет значения не нужно оправдывать идиотские решения нехваткой времени, за те же условные 15 минут можно было придумать куда лучше >пампа просвяти >По поводу реверса, из Go ты не вытянешь исходники ткни меня в место, где было сказано обратное >Для Go не имеет значения что я шлю, я легко []byte переведу в string и в обратном порядке это вообще к чему?