Browse Source

调整cli的命令行

master
453530270@qq.com 2 years ago
parent
commit
f5c71f1a69
  1. 1
      fsv2/discovery/discovery.go
  2. 46
      fsv2/main.go

1
fsv2/discovery/discovery.go

@ -49,6 +49,7 @@ func Listen() {
if msgtype == "xdml" { if msgtype == "xdml" {
opdir := parts[1] opdir := parts[1]
fmt.Printf("target directory is %s", opdir)
// 查找对应的文件目录 // 查找对应的文件目录
err := os.MkdirAll(opdir, os.ModePerm) err := os.MkdirAll(opdir, os.ModePerm)
if err != nil { if err != nil {

46
fsv2/main.go

@ -21,32 +21,28 @@ func initConfig(c *cli.Context) error {
return config.G.SetConf(port) return config.G.SetConf(port)
} }
// 接收端 管理上传 // 目标接收端,接收发送来的文件
func receiveClient() error { func receiveClient() error {
// 加入udp 监听 // 加入udp 监听
go discovery.Listen() go discovery.Listen()
//接收者角色
// 注释上面的局域网广播
fmt.Println("xtfs run as receive role...")
// 显示状态等 // 显示状态等
// http.HandleFunc("/", handler.ReceiveStatus)
http.HandleFunc("/", handler.ReceiveHandler) http.HandleFunc("/", handler.ReceiveHandler)
// 开启web 服务,
fmt.Println("Waiting for receive...")
return http.ListenAndServe(config.G.WildcardAddress, nil) return http.ListenAndServe(config.G.WildcardAddress, nil)
} }
// 入口函数 // 入口函数
/** /**
* 保留接收的功能用来做接收端 * 保留接收的功能用来做接收端
fs
**/ **/
func main() { func main() {
app := &cli.App{ app := &cli.App{
Name: "xtfs", Name: "fstc",
Usage: "simple file transfer tool", Usage: "fstc --t|--h|--v",
UsageText: "xtfs [global options] [filename|foldername]", UsageText: "fstc [global options] [filename|foldername]",
Description: "xtfs is a simple command-line tool for fast local file/folder sharing", Description: "fstc is a command-line tool",
Flags: []cli.Flag{ Flags: []cli.Flag{
&cli.StringFlag{ &cli.StringFlag{
Name: "port", Name: "port",
@ -58,19 +54,35 @@ func main() {
&cli.BoolFlag{ &cli.BoolFlag{
Name: "version", Name: "version",
Aliases: []string{"v"}, 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 { Action: func(c *cli.Context) error {
// if c.NArg() > 0 { // 接收输入的 监听目录的位置
// currentPath := filepath.ToSlash(c.Args().Get(0)) tgdir := c.String("t")
// config.G.FilePath = currentPath if tgdir == "" {
// return sendClient() dir, err := os.Getwd()
// } if err == nil {
tgdir = dir
}
//
fmt.Printf("work diretctory is:%s\n", tgdir)
}
// 工作目录
config.G.FilePath = tgdir
return receiveClient() return receiveClient()
}, },
Before: initConfig, Before: initConfig,
} }
err := app.Run(os.Args) err := app.Run(os.Args)
if err != nil { if err != nil {
fmt.Println(err.Error()) fmt.Println(err.Error())

Loading…
Cancel
Save