Introduce core components for "Escape From Teacher" game: server, client, physics, asset system, and protocol definitions. Add Docker-Compose setup for Redis and NATS infrastructure.
This commit is contained in:
32
pkg/stream/adapter.go
Normal file
32
pkg/stream/adapter.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package stream
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/nats-io/nats.go"
|
||||
)
|
||||
|
||||
// Connect verbindet uns mit dem NATS Cluster (oder lokalem Docker Container)
|
||||
func Connect(url string) (*nats.Conn, error) {
|
||||
// Default auf localhost, wenn leer
|
||||
if url == "" {
|
||||
url = nats.DefaultURL
|
||||
}
|
||||
|
||||
nc, err := nats.Connect(url)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Printf("🔌 Verbunden mit NATS unter %s", url)
|
||||
return nc, nil
|
||||
}
|
||||
|
||||
// Helper Konstanten für unsere Topic-Struktur
|
||||
const (
|
||||
// Topic: game.<RoomID>.input -> Client sendet Tasten
|
||||
SubjectGameInput = "game.%s.input"
|
||||
|
||||
// Topic: game.<RoomID>.state -> Server sendet Positionen
|
||||
SubjectGameState = "game.%s.state"
|
||||
)
|
||||
Reference in New Issue
Block a user