25 lines
872 B
Markdown
25 lines
872 B
Markdown
# Introduction to Network Programming Homework
|
|
|
|
## System Architecture
|
|
|
|
- The client program uses a TUI framework 'bubbletea' in Go.
|
|
- The auth server use HTTP with in-memory SQLite as backend.
|
|
- After auth, you can select the role to connect using P2P.
|
|
- Server: listen for client to join
|
|
- Client: scan and choose server to join
|
|
|
|
## Connections
|
|
|
|
- The auth server uses HTTP RESTful API, with JSON format payload and HTTP
|
|
Basic Auth.
|
|
- The UDP part uses builtin 'net' package in Go, and use MessagePack with
|
|
some pre-shared Magic Number to prevent spoofing.
|
|
- The wordle server also uses HTTP RESTful API, with JSON format payload.
|
|
|
|
## Gameplay
|
|
|
|
- A Wordle replica with multiplayer support.
|
|
- Players guess the 5-letter word within 6 round.
|
|
- After each round the guess result of others will be shared between players.
|
|
- The person who guess the word first wins.
|