From 7dcb823d1d1132878c6283b9740e9fa6dc2f95db Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 5 Jan 2023 19:46:43 +0800 Subject: [PATCH] =?UTF-8?q?ping=E7=AB=AF=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/perf_choose.go | 82 ++++++++++++++++++++-------------------- cmd/v2/ui/perf_pb.go | 26 ++++++------- cmd/v2/ui/tool_ping.go | 32 ++++++++++++++-- cmd/v2/ui/toolwindow.go | 2 +- 4 files changed, 81 insertions(+), 61 deletions(-) diff --git a/cmd/v2/ui/perf_choose.go b/cmd/v2/ui/perf_choose.go index 3cc27597f..2d4825ee9 100644 --- a/cmd/v2/ui/perf_choose.go +++ b/cmd/v2/ui/perf_choose.go @@ -8,8 +8,6 @@ import ( "go_dreamfactory/cmd/v2/service/observer" "go_dreamfactory/comm" "go_dreamfactory/pb" - cfg "go_dreamfactory/sys/configure/structs" - "strings" "time" "fyne.io/fyne/v2" @@ -133,49 +131,49 @@ func (app *perfChoose) LazyInit(ptService service.PttService, obs observer.Obser closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE) openApp3(perfWin.tabs, common.TOOLBAR_PERF_RES) - if tables, err := cfg.NewTables(common.Loader); err != nil { - println(err.Error()) - } else { - for _, v := range tables.TestFlow.GetDataList() { - p, ok := pbMap[v.Route] - if !ok { - logrus.WithField("route", v.Route).Debug("未注册") - continue - } - routeStr := strings.SplitN(v.Route, ".", 2) - for _, account := range app.binduids { - rq := ReqParams{ - Sid: app.conf.SId, - Account: account, - PbReq: p, - MainType: routeStr[0], - SubType: routeStr[1], - } - b, err := app.buildReq(rq) - if err != nil { - logrus.Error(err) - return - } - app.handler.SetReq(b, true) - } + // if tables, err := cfg.NewTables(common.Loader); err != nil { + // println(err.Error()) + // } else { + // for _, v := range tables.TestFlow.GetDataList() { + // p, ok := pbMap[v.Route] + // if !ok { + // logrus.WithField("route", v.Route).Debug("未注册") + // continue + // } + // routeStr := strings.SplitN(v.Route, ".", 2) + // for _, account := range app.binduids { + // rq := ReqParams{ + // Sid: app.conf.SId, + // Account: account, + // PbReq: p, + // MainType: routeStr[0], + // SubType: routeStr[1], + // } + // b, err := app.buildReq(rq) + // if err != nil { + // logrus.Error(err) + // return + // } + // app.handler.SetReq(b, true) + // } - param := lib.ParamMgr{ - Caller: app.handler, - Timeout: time.Duration(app.conf.Pressure.TimeoutMs) * time.Millisecond, - Lps: uint32(app.conf.Pressure.Concurrency), - Duration: time.Duration(app.conf.Pressure.DurationS) * time.Second, - ResultCh: make(chan *lib.CallResult, 50), - } - a, err := lib.NewAssistant(obs, param) - if err != nil { - logrus.Error(err) - } + // param := lib.ParamMgr{ + // Caller: app.handler, + // Timeout: time.Duration(app.conf.Pressure.TimeoutMs) * time.Millisecond, + // Lps: uint32(app.conf.Pressure.Concurrency), + // Duration: time.Duration(app.conf.Pressure.DurationS) * time.Second, + // ResultCh: make(chan *lib.CallResult, 50), + // } + // a, err := lib.NewAssistant(obs, param) + // if err != nil { + // logrus.Error(err) + // } - a.Start() + // a.Start() - a.ShowResult() - } - } + // a.ShowResult() + // } + // } } //上一步 diff --git a/cmd/v2/ui/perf_pb.go b/cmd/v2/ui/perf_pb.go index 1a317b902..49ea09ff2 100644 --- a/cmd/v2/ui/perf_pb.go +++ b/cmd/v2/ui/perf_pb.go @@ -1,7 +1,6 @@ package ui import ( - "fmt" "go_dreamfactory/cmd/v2/lib" "go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/lib/storage" @@ -20,7 +19,6 @@ import ( "fyne.io/fyne/v2/widget" "github.com/Pallinder/go-randomdata" "github.com/sirupsen/logrus" - "github.com/spf13/cast" "google.golang.org/protobuf/proto" ) @@ -47,18 +45,18 @@ func (app *perfPb) LazyInit(ptService service.PttService, obs observer.Observer) app.itemList.ItemList = app.itemList.CreateList() app.pbList = func() { - if tables, err := cfg.NewTables(common.Loader); err != nil { - println(err.Error()) - } else { - for _, v := range tables.TestFlow.GetDataList() { - item := common.Item{ - Id: cast.ToString(v.Id), - Text: fmt.Sprintf("%-6d %-20s %-20s %s", v.Id, v.Msg, v.Route, v.Params), - Data: v, - } - app.itemList.AddItem(item) - } - } + // if tables, err := cfg.NewTables(common.Loader); err != nil { + // println(err.Error()) + // } else { + // for _, v := range tables.TestFlow.GetDataList() { + // item := common.Item{ + // Id: cast.ToString(v.Id), + // Text: fmt.Sprintf("%-6d %-20s %-20s %s", v.Id, v.Msg, v.Route, v.Params), + // Data: v, + // } + // app.itemList.AddItem(item) + // } + // } } defer app.pbList() diff --git a/cmd/v2/ui/tool_ping.go b/cmd/v2/ui/tool_ping.go index d863e67f0..2f8c5b9a0 100644 --- a/cmd/v2/ui/tool_ping.go +++ b/cmd/v2/ui/tool_ping.go @@ -14,6 +14,7 @@ import ( "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/theme" "fyne.io/fyne/v2/widget" + "github.com/sirupsen/logrus" "github.com/spf13/cast" ) @@ -25,8 +26,6 @@ type appPing struct { func (this *appPing) LazyInit(ptService service.PttService, obs observer.Observer) error { this.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PING, theme.DownloadIcon(), nil) - this.resultCh = make(chan int) - content := container.NewMax() content.Objects = []fyne.CanvasObject{} @@ -36,18 +35,41 @@ func (this *appPing) LazyInit(ptService service.PttService, obs observer.Observe portEntry := widget.NewMultiLineEntry() portEntry.Text = "80,3306,6379" form := widget.NewForm( + widget.NewFormItem("主机", targetHost), widget.NewFormItem("端口", portEntry), ) + // result + result := widget.NewMultiLineEntry() form.OnSubmit = func() { + result.Text = "" + if portEntry.Text == "" { + return + } + this.resultCh = make(chan int) ports := strings.Split(portEntry.Text, ",") this.ping(targetHost.Text, ports) + + var msgs []string + for p := range this.resultCh { - fmt.Println(p, "ok") + for _, v := range ports { + if cast.ToInt(v) == p { + msgs = append(msgs, fmt.Sprintf("端口:%d OK", p)) + } else { + msgs = append(msgs, fmt.Sprintf("端口:%s ERR", v)) + } + result.Text = strings.Join(msgs, "\n") + result.Refresh() + } } } form.Items[1].HintText = "多个端口使用英文,号分隔" - content.Objects = append(content.Objects, form) + + result.OnChanged = func(s string) { + result.Refresh() + } + content.Objects = append(content.Objects, container.NewBorder(form, nil, nil, nil, result)) this.tabItem.Content = content return nil } @@ -61,6 +83,8 @@ func (this *appPing) ping(targetHost string, ports []string) { _, err := net.DialTimeout("tcp", fmt.Sprintf("%s:%d", targetHost, p), time.Millisecond*500) if err == nil { this.resultCh <- p + } else { + logrus.Error(err) } }(cast.ToInt(port)) } diff --git a/cmd/v2/ui/toolwindow.go b/cmd/v2/ui/toolwindow.go index 043e7b783..9abc7ab3e 100644 --- a/cmd/v2/ui/toolwindow.go +++ b/cmd/v2/ui/toolwindow.go @@ -53,7 +53,7 @@ func NewToolWindow(ui *UIImpl, parent fyne.Window) ToolWindow { openApp2(mw.at, common.TOOLBAR_TERM) }), - widget.NewToolbarAction(theme.MailSendIcon(), func() { + widget.NewToolbarAction(theme.ComputerIcon(), func() { openApp2(mw.at, common.TOOLBAR_PING) }),