You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
712 B
Go
38 lines
712 B
Go
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
|
|
}
|