ServerRunner.go 608 B

1234567891011121314151617181920212223242526272829
  1. package main
  2. import (
  3. "./lib/com"
  4. "./lib/tcp"
  5. "log"
  6. "os"
  7. "strings"
  8. )
  9. func main() {
  10. args, filepath := os.Args, "./ServerConfig.json"
  11. if len(args) == 2 {
  12. filepath = args[1]
  13. }
  14. logger := log.New(os.Stderr, "[SER] ", log.Ldate|log.Ltime|log.Lshortfile|log.Lmsgprefix)
  15. config := com.ReadServerConfig(filepath, logger)
  16. protocol := strings.ToLower(config.Protocol)
  17. switch protocol {
  18. case "tcp":
  19. server := tcp.NewServer(config.Port, config.Gap, config.Len, logger)
  20. server.Start()
  21. break
  22. case "udp":
  23. break
  24. default:
  25. logger.Fatalf("Unrecognized protocol: <%s>, tcp/udp only.", protocol)
  26. }
  27. }