Skip to content

Commit 380ba98

Browse files
authored
feat: add address flags to both client and server (#7)
* feat(server): configure address via -addr flag * feat(client): add required flag -remote
1 parent 8dfef9c commit 380ba98

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

cmd/client/main.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,35 @@
11
package main
22

33
import (
4+
"flag"
5+
"fmt"
46
"log/slog"
57
"multiplayer/internal/cli"
68
_ "multiplayer/internal/config"
79
"multiplayer/internal/game"
10+
"os"
811

912
"github.com/hajimehoshi/ebiten/v2"
1013
)
1114

15+
var remoteAddr string
16+
17+
func init() {
18+
flag.StringVar(&remoteAddr, "remote", "", "specify remote server address")
19+
flag.Parse()
20+
21+
if remoteAddr == "" {
22+
fmt.Fprintln(os.Stderr, "flag -remote is required")
23+
flag.PrintDefaults()
24+
os.Exit(1)
25+
}
26+
}
27+
1228
func main() {
1329
ctx, cancel := cli.NewSignalContext()
1430
defer cancel()
1531

16-
g, err := game.New(ctx, "127.0.0.1:3000")
32+
g, err := game.New(ctx, remoteAddr)
1733
if err != nil {
1834
slog.Error("failed to initialize game", "error", err)
1935
return

cmd/server/main.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
"flag"
45
_ "image/png"
56
"log/slog"
67
"multiplayer/internal/cli"
@@ -10,11 +11,18 @@ import (
1011
"github.com/hajimehoshi/ebiten/v2"
1112
)
1213

14+
var localAddr string
15+
16+
func init() {
17+
flag.StringVar(&localAddr, "addr", "127.0.0.1:", "specify udp/mcp listener address")
18+
flag.Parse()
19+
}
20+
1321
func main() {
1422
ctx, cancel := cli.NewSignalContext()
1523
defer cancel()
1624

17-
sim, err := simulation.New(ctx, "127.0.0.1:3000")
25+
sim, err := simulation.New(ctx, localAddr)
1826
if err != nil {
1927
slog.Error("failed to instantiate simulation", "error", err)
2028
return

internal/simulation/simulation.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ func New(ctx context.Context, laddr string) (*Simulation, error) {
2929
if err != nil {
3030
return nil, err
3131
}
32+
slog.Info("bound udp/mcp listener", "address", ln.LocalAddr())
33+
3234
sess, err := ln.Accept(ctx)
3335
if err != nil {
3436
return nil, err

0 commit comments

Comments
 (0)