ping端口
This commit is contained in:
parent
2807ec89ab
commit
7dcb823d1d
@ -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()
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
//上一步
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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))
|
||||
}
|
||||
|
@ -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)
|
||||
}),
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user