diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/client/main.go | 10 | ||||
| -rw-r--r-- | cmd/daemon/main.go | 13 |
2 files changed, 14 insertions, 9 deletions
diff --git a/cmd/client/main.go b/cmd/client/main.go index 2612267..8c2258a 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -18,7 +18,7 @@ var ( ) func main() { - prompt.Commands["*"] = broadcast + prompt.Commands["send"] = sendMessage flag.StringVar(&serverAddr, "a", "localhost:9999", "Server address:port") flag.StringVar(&user, "u", "user", "username") @@ -74,16 +74,14 @@ func handleMessage(conn net.Conn, msg core.Message) { log.Println("received message", msg.Source, "->", msg.Target, msg.Content) } -func broadcast(args []string) { +func sendMessage(args []string) { msg := core.Message{ Source: user, - Target: "*", + Target: args[0], Timestamp: time.Now(), - Content: strings.Join(args[0:], " "), + Content: strings.Join(args[1:], " "), } - log.Println(msg.Content) - if err := core.Send(conn, msg); err != nil { panic(err) } diff --git a/cmd/daemon/main.go b/cmd/daemon/main.go index 32b3954..d0e4d1c 100644 --- a/cmd/daemon/main.go +++ b/cmd/daemon/main.go @@ -14,8 +14,9 @@ import ( ) var ( - cmds = map[string]func(args []string){} - + cmds = map[string]func(args []string){ + "broadcast": sendBroadcast, + } serv *server.Server ) @@ -24,9 +25,10 @@ func main() { fmt.Println("Commands:", slices.Sorted(maps.Keys(cmds))) addr := flag.String("a", "localhost:9999", "listening address:port") + name := flag.String("n", "localhost", "server name") flag.Parse() - serv = server.NewServer(*addr) + serv = server.NewServer(*addr, *name) go func() { if err := serv.Start(); err != nil { @@ -56,3 +58,8 @@ func readCmds() { log.Println(err) } } + +func sendBroadcast(args []string) { + msg := strings.Join(args[0:], " ") + serv.SendBroadcast(msg) +} |
