易云轻量版服务端
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

55 строки
1.3 KiB

  1. package main
  2. import (
  3. "fmt"
  4. "io"
  5. "locking-kit-server/consts"
  6. "locking-kit-server/handler"
  7. "locking-kit-server/utils"
  8. "locking-kit-server/websocket"
  9. "log"
  10. "net/http"
  11. "os"
  12. "path/filepath"
  13. "strconv"
  14. "time"
  15. )
  16. /**
  17. * @author yuanrh
  18. * @description 主函数
  19. * @date 2021/6/28 11:11
  20. **/
  21. func main() {
  22. //日志设置
  23. _,err := os.Stat(consts.LOG_PATH)
  24. if err != nil {
  25. os.MkdirAll(consts.LOG_PATH, os.ModePerm)
  26. }
  27. logpath :=filepath.Join(consts.LOG_PATH,fmt.Sprintf("%v-%d.log",strconv.Itoa((time.Now().Year())),time.Now().Month()))
  28. logFile, err := os.OpenFile(logpath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
  29. if err != nil {
  30. log.Printf("open log file failed, err:", err)
  31. return
  32. }
  33. multiWriter := io.MultiWriter(os.Stdout,logFile)
  34. log.SetOutput(multiWriter)
  35. log.SetPrefix(consts.LOG_PREFIX)
  36. log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
  37. utils.InitWorker(101)
  38. //http://localhost:7777/ws
  39. http.HandleFunc("/api/syncFolderToWorkSpace", handler.SyncFolderToWorkSpace)
  40. http.HandleFunc("/api/downloadFile", handler.DownloadFile)
  41. http.HandleFunc("/websocket/subscriptionTaskSync", websocket.SubscriptionTaskSyncHandler)
  42. //服务端启动
  43. log.Println("服务启动成功,监听端口7888,等待连接...")
  44. http.ListenAndServe("127.0.0.1:7888", nil)
  45. }