From 17253d5555926687926fb1f5e9f0b9603ce596db Mon Sep 17 00:00:00 2001 From: Martin/Geno Date: Sun, 30 Dec 2018 07:55:51 +0100 Subject: [PATCH] add multi sockets --- main.go | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/main.go b/main.go index 82a77aa..d2110c8 100644 --- a/main.go +++ b/main.go @@ -15,6 +15,7 @@ import ( var targetAddr string var imgPath string var goProc int +var socketCount int var startx int var starty int @@ -27,6 +28,7 @@ func main() { flag.StringVar(&targetAddr, "addr", "151.217.177.136:1234", "address of target tcp") flag.StringVar(&imgPath, "img", "", "path to image") flag.IntVar(&goProc, "proc", 1, "count of procs (go routines)") + flag.IntVar(&socketCount, "sockets", 1, "count of sockets to target") flag.IntVar(&startx, "start-x", 0, "move at x") flag.IntVar(&starty, "start-y", 0, "move at y") @@ -51,19 +53,10 @@ func main() { pixelmatrix = getPart(pixelmatrix, partCount, partTotal, partBegin) - // connection(s) - conn, err := net.Dial("tcp", targetAddr) - if err != nil { - log.Fatalf("not able to create connection: %s", err) + for s := 0; s < socketCount; s++ { + conn := createSocket(pixelmatrix) + defer conn.Close() } - defer conn.Close() - - - // start painting - for s := 0; s < goProc; s++ { - go paint(conn, pixelmatrix, startx, starty) - } - // Wait for INT/TERM sigs := make(chan os.Signal, 1) @@ -73,6 +66,21 @@ func main() { } +func createSocket(pixelmatrix [][][4]uint32) net.Conn { + // connection(s) + conn, err := net.Dial("tcp", targetAddr) + if err != nil { + log.Fatalf("not able to create connection: %s", err) + } + + + // start painting + for s := 0; s < goProc; s++ { + go paint(conn, pixelmatrix, startx, starty) + } + return conn +} + func paint(conn net.Conn, pixelmatrix [][][4]uint32, xstart, ystart int) { for { for x, row := range pixelmatrix {