38 lines
576 B
Go
38 lines
576 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"flag"
|
|
"os"
|
|
)
|
|
|
|
type Server interface {
|
|
Run()
|
|
}
|
|
|
|
func main() {
|
|
var challenge int
|
|
flag.IntVar(&challenge, "challenge",4, "Challenge number")
|
|
flag.Parse()
|
|
|
|
var port uint16
|
|
port = 13370
|
|
var server Server
|
|
switch challenge {
|
|
case 0:
|
|
server = NewEchoServer(port);
|
|
case 1:
|
|
server = NewPrimeServer(port);
|
|
case 2:
|
|
server = NewMeansServer(port);
|
|
case 3:
|
|
server = NewChatServer(port);
|
|
case 4:
|
|
server = NewDatabaseServer(port);
|
|
default:
|
|
fmt.Printf("Unknown challenge\n")
|
|
os.Exit(1)
|
|
}
|
|
|
|
server.Run()
|
|
} |