package entities import ( "github.com/gin-gonic/gin" socket "github.com/zishang520/socket.io/v2/socket" ) type ClientData struct { Room string `json:"room"` Username string `json:"username"` IsAdmin bool `json:"is_admin"` } var server *socket.Server var router *gin.Engine func init() { serverOpts := socket.DefaultServerOptions() csrOpts := socket.ConnectionStateRecovery{} csrOpts.SetMaxDisconnectionDuration(2 * 60 * 1000) // 2 minutes csrOpts.SetSkipMiddlewares(true) serverOpts.SetConnectionStateRecovery(&csrOpts) server = socket.NewServer(nil, serverOpts) router = gin.New() } func GetServer() *socket.Server { return server } func GetRouter() *gin.Engine { return router }