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 14:01:57 +00:00
|
|
|
flag.IntVar(&challenge, "challenge",3, "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-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
|
|
|
}
|