|
- 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
- }
|