33 lines
658 B
Go
33 lines
658 B
Go
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"
|
|
)
|