package main import ( "fmt" _ "fmt" "fts/config" "fts/websocket" _ "github.com/ipfs/go-ipfs-api" "io" "io/ioutil" "log" "net/http" "os" _ "os" _ "strings" ) func main() { config.InitConfig() //日志设置 logpath :=config.LocalWorkSpaceDir+"\\"+"fts.log" logFile, err := os.OpenFile(logpath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) if err != nil { log.Printf("open log file failed, err:", err) return } multiWriter := io.MultiWriter(os.Stdout,logFile) log.SetOutput(multiWriter) log.SetPrefix("[fts] ") log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) //handle.InitLocalWorkSpace(nil,"324523676458291200","11.4") //http://localhost:7777/ws http.HandleFunc("/upload", websocket.UploadHandler) http.HandleFunc("/subscriptionFileChange", websocket.SubscriptionFileChangeHandler) http.HandleFunc("/download", websocket.DownloadHandler) http.HandleFunc("/init", websocket.InitLocalWorkSpaceHandler) //服务端启动 log.Println("服务启动成功,监听端口7777,等待连接。") http.ListenAndServe("0.0.0.0:7777", nil) } // 递归扫描目录 func ScanDirs(dirName string) []string { files, err := ioutil.ReadDir(dirName) if err != nil { log.Println(err) } var fileList []string for _, file := range files { fmt.Println(file.Name()+" "+file.ModTime().String()) fileList = append(fileList, dirName + string(os.PathSeparator) + file.Name()) if file.IsDir() { fileList = append(fileList, ScanDirs(dirName + string(os.PathSeparator) + file.Name())...) } } return fileList }