41 lines
888 B
Go
41 lines
888 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"
|
|
)
|
|
|
|
// ModuleWebsocket Websocket客户端模块
|
|
type ModuleWebsocket struct {
|
|
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() error {
|
|
m.manager.Start()
|
|
return nil
|
|
}
|
|
|
|
func (m *ModuleWebsocket) Stop() error {
|
|
return nil
|
|
}
|
|
|
|
func (m *ModuleWebsocket) Bind(_ ...any) module.Module {
|
|
return m
|
|
}
|