标签:FTP log err ftp Println GO core 服务端
服务端:
package main import ( "log" "goftp.io/server/core" "goftp.io/server/driver/file" ) func main() { Name := "FTP Server" rootPath := "./static" //FTP根目录 Port := 2121 //FTP 端口 var perm = core.NewSimplePerm("test", "test") // Server options without hostname or port opt := &core.ServerOpts{ Name: Name, Factory: &file.DriverFactory{ RootPath: rootPath, Perm: perm, }, Auth: &core.SimpleAuth{ Name: "username", // FTP 账号 Password: "Password", // FTP 密码 }, Port: Port, } // start ftp server s := core.NewServer(opt) err := s.ListenAndServe() if err != nil { log.Fatal("Error starting server:", err) } }
客户端: 三秒传一次,传成功为止
package main import ( "fmt" "log" "os" "time" "github.com/jlaffaye/ftp" ) func main() { // Do something with the FTP conn for { newFunction() time.Sleep(3 * time.Second) } } func newFunction() { file, err := os.Open("data.dmp") if err != nil { log.Println("读取文件:") log.Println(err) return } c, err := ftp.Dial("127.0.0.1:2121", ftp.DialWithTimeout(5*time.Second)) //c, err := ftp.Dial("172.16.33.194:2121", ftp.DialWithTimeout(5*time.Second)) if err != nil { log.Println("登录0:") log.Println(err) return } err = c.Login("username", "password") if err != nil { log.Println("登录1:") log.Println(err) return } if err := c.Stor(`data.dmp`, file); err != nil { log.Println("上传:") log.Println(err) return } else { log.Println("上传成功") os.Exit(0) } }
标签:FTP,log,err,ftp,Println,GO,core,服务端 来源: https://www.cnblogs.com/agfox123/p/16256437.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。