36 lines
827 B
Go
36 lines
827 B
Go
package app
|
|
|
|
import (
|
|
"fmt"
|
|
"git.hlsq.asia/mmorpg/service-common/module"
|
|
"git.hlsq.asia/mmorpg/service-robot/config"
|
|
"git.hlsq.asia/mmorpg/service-robot/internal/ws"
|
|
"sync"
|
|
)
|
|
|
|
// ModuleWebsocket Websocket客户端模块
|
|
type ModuleWebsocket struct {
|
|
module.DefaultModule
|
|
manager *ws.Manager
|
|
}
|
|
|
|
func (m *ModuleWebsocket) Init() error {
|
|
cfg := config.Get().Client
|
|
httpAddr := fmt.Sprintf("%s:%d", cfg.Http.Address, cfg.Http.Port)
|
|
if cfg.Http.Port == 0 {
|
|
httpAddr = cfg.Http.Address
|
|
}
|
|
websocketAddr := fmt.Sprintf("%s:%d", cfg.Websocket.Address, cfg.Websocket.Port)
|
|
if cfg.Websocket.Port == 0 {
|
|
websocketAddr = cfg.Websocket.Address
|
|
}
|
|
m.manager = ws.NewManager(httpAddr, websocketAddr)
|
|
return nil
|
|
}
|
|
|
|
func (m *ModuleWebsocket) Start(ready *sync.WaitGroup) error {
|
|
m.manager.Start()
|
|
ready.Done()
|
|
return nil
|
|
}
|