From f5c71f1a69939b5a2eaa7c5877dc363217c8b1fe Mon Sep 17 00:00:00 2001 From: "453530270@qq.com" Date: Wed, 26 Jun 2024 16:14:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4cli=E7=9A=84=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fsv2/discovery/discovery.go | 1 + fsv2/main.go | 46 +++++++++++++++++++++++-------------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/fsv2/discovery/discovery.go b/fsv2/discovery/discovery.go index a060a78..3e6ffdd 100644 --- a/fsv2/discovery/discovery.go +++ b/fsv2/discovery/discovery.go @@ -49,6 +49,7 @@ func Listen() { if msgtype == "xdml" { opdir := parts[1] + fmt.Printf("target directory is %s", opdir) // 查找对应的文件目录 err := os.MkdirAll(opdir, os.ModePerm) if err != nil { diff --git a/fsv2/main.go b/fsv2/main.go index 0a4f92e..5f66f19 100644 --- a/fsv2/main.go +++ b/fsv2/main.go @@ -21,32 +21,28 @@ func initConfig(c *cli.Context) error { return config.G.SetConf(port) } -// 接收端 管理上传 +// 目标接收端,接收发送来的文件 func receiveClient() error { // 加入udp 监听 go discovery.Listen() - //接收者角色 - // 注释上面的局域网广播 - fmt.Println("xtfs run as receive role...") // 显示状态等 - // http.HandleFunc("/", handler.ReceiveStatus) http.HandleFunc("/", handler.ReceiveHandler) - - fmt.Println("Waiting for receive...") + // 开启web 服务, return http.ListenAndServe(config.G.WildcardAddress, nil) } // 入口函数 /** * 保留接收的功能,用来做接收端 + fs **/ func main() { app := &cli.App{ - Name: "xtfs", - Usage: "simple file transfer tool", - UsageText: "xtfs [global options] [filename|foldername]", - Description: "xtfs is a simple command-line tool for fast local file/folder sharing", + Name: "fstc", + Usage: "fstc --t|--h|--v", + UsageText: "fstc [global options] [filename|foldername]", + Description: "fstc is a command-line tool", Flags: []cli.Flag{ &cli.StringFlag{ Name: "port", @@ -58,19 +54,35 @@ func main() { &cli.BoolFlag{ Name: "version", Aliases: []string{"v"}, - Usage: "print the version", + Usage: "v1.02", + }, + // 监听的目录位置 + &cli.StringFlag{ + Name: "target", + Aliases: []string{"t"}, + Usage: "eg:fstc --t /home", }, }, Action: func(c *cli.Context) error { - // if c.NArg() > 0 { - // currentPath := filepath.ToSlash(c.Args().Get(0)) - // config.G.FilePath = currentPath - // return sendClient() - // } + // 接收输入的 监听目录的位置 + tgdir := c.String("t") + if tgdir == "" { + dir, err := os.Getwd() + if err == nil { + tgdir = dir + } + // + fmt.Printf("work diretctory is:%s\n", tgdir) + } + + // 工作目录 + config.G.FilePath = tgdir return receiveClient() + }, Before: initConfig, } + err := app.Run(os.Args) if err != nil { fmt.Println(err.Error())