From 196a469c340d2fa3d8d3437e05fd82ca773fc4b0 Mon Sep 17 00:00:00 2001 From: 兔子 Date: Thu, 5 Sep 2019 22:21:39 +0800 Subject: [PATCH] =?UTF-8?q?tcp=E4=BC=A0=E8=BE=93=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E4=B8=A2=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vtqe/tools/cmd.go | 2 +- vtqe/tools/tcp.go | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/vtqe/tools/cmd.go b/vtqe/tools/cmd.go index 1a68c60..5e45a35 100644 --- a/vtqe/tools/cmd.go +++ b/vtqe/tools/cmd.go @@ -4,7 +4,7 @@ import ( "github.com/spf13/cobra" ) -var Version string = "0.1.15" +var Version string = "0.1.16" var Maincmd = &cobra.Command{ Use: "", diff --git a/vtqe/tools/tcp.go b/vtqe/tools/tcp.go index ccd684b..661611a 100644 --- a/vtqe/tools/tcp.go +++ b/vtqe/tools/tcp.go @@ -224,7 +224,7 @@ func tcpupload(file, prefix string, mytcp net.Conn) error { time.Sleep(time.Millisecond * 100) sakura++ if sakura > 50 { - mytcp.Write([]byte{1, 9, 9, 6, 1, 1, 2, 7, 6, 6, 6, 1, 1, 2, 7}) + mytcp.Write([]byte{1, 9, 9, 6, 1, 1, 2, 7}) time.Sleep(time.Millisecond * 100) mytcp.Write([]byte("victorique&" + stat.Name() + "&" + prefix)) } @@ -237,9 +237,9 @@ func tcpupload(file, prefix string, mytcp net.Conn) error { if err != nil { if err == io.EOF { err = nil + mytcp.Write([]byte{1, 9, 9, 6, 1, 1, 2, 7}) for !backsck { time.Sleep(time.Millisecond * 150) - mytcp.Write([]byte{1, 9, 9, 6, 1, 1, 2, 7, 6, 6, 6, 1, 1, 2, 7}) } backsck = false break @@ -347,7 +347,7 @@ var tcprecvcmd = &cobra.Command{ defer conns.Close() var sum int for { - buf := make([]byte, 524288) + buf := make([]byte, 393216) n, err := conns.Read(buf) if !canrecv { @@ -364,10 +364,13 @@ var tcprecvcmd = &cobra.Command{ canrecv = true name = str[1] prefix := str[2] + if runtime.GOOS != "windows" { + prefix = strings.Replace(prefix, "\\", "/", -1) + } if prefix == "" { fpdst, err = os.Create("./" + name) } else { - fpdst, err = os.Create(prefix + "/" + name) + fpdst, err = os.Create(prefix + name) } if err != nil { fmt.Println(err) @@ -381,18 +384,19 @@ var tcprecvcmd = &cobra.Command{ return } } else { - if n < 524288 && buf[n-1] == byte(7) { + if buf[n-1] == byte(7) && buf[n-2] == byte(2) && buf[n-3] == byte(1) { ok := func() bool { - for k, v := range []byte{1, 9, 9, 6, 1, 1, 2, 7, 6, 6, 6, 1, 1, 2, 7} { - if buf[n-15+k] != v { + for k, v := range []byte{1, 9, 9, 6, 1, 1, 2, 7} { + if buf[n-8+k] != v { return false } } return true }() if ok { - if n > 15 { - fpdst.Write(buf[0 : n-15]) + if n > 8 { + fpdst.Write(buf[0 : n-8]) + sum += n - 8 } fmt.Printf("已写入:%d 字节\n", sum) fmt.Println(name + "接收成功\n")