Proto/main.go

38 lines
576 B
Go
Raw Normal View History

2023-09-19 20:18:20 +00:00
package main
2023-09-21 17:10:27 +00:00
import (
"fmt"
"flag"
"os"
)
2023-09-19 20:18:20 +00:00
2023-09-21 17:10:27 +00:00
type Server interface {
Run()
}
2023-09-19 20:18:20 +00:00
func main() {
2023-09-21 17:10:27 +00:00
var challenge int
2023-09-24 19:33:20 +00:00
flag.IntVar(&challenge, "challenge",4, "Challenge number")
2023-09-21 17:10:27 +00:00
flag.Parse()
var port uint16
port = 13370
var server Server
switch challenge {
case 0:
server = NewEchoServer(port);
case 1:
server = NewPrimeServer(port);
2023-09-22 19:22:51 +00:00
case 2:
server = NewMeansServer(port);
2023-09-24 14:01:57 +00:00
case 3:
server = NewChatServer(port);
2023-09-24 19:33:20 +00:00
case 4:
server = NewDatabaseServer(port);
2023-09-21 17:10:27 +00:00
default:
fmt.Printf("Unknown challenge\n")
os.Exit(1)
}
server.Run()
2023-09-19 20:18:20 +00:00
}