Files
open-im-server/internal/msggateway/init.go
T

36 lines
1.1 KiB
Go
Raw Normal View History

2023-03-08 19:25:27 +08:00
package msggateway
import (
"fmt"
2023-03-16 10:46:06 +08:00
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
2023-03-08 19:25:27 +08:00
"sync"
"time"
)
func RunWsAndServer(rpcPort, wsPort, prometheusPort int) error {
var wg sync.WaitGroup
wg.Add(1)
log.NewPrivateLog(constant.LogFileName)
fmt.Println("start rpc/msg_gateway server, port: ", rpcPort, wsPort, prometheusPort, ", OpenIM version: ", config.Version)
longServer, err := NewWsServer(
WithPort(wsPort),
WithMaxConnNum(int64(config.Config.LongConnSvr.WebsocketMaxConnNum)),
WithHandshakeTimeout(time.Duration(config.Config.LongConnSvr.WebsocketTimeOut)*time.Second),
WithMessageMaxMsgLength(config.Config.LongConnSvr.WebsocketMaxMsgLen))
if err != nil {
return err
}
2023-03-23 12:49:18 +08:00
hubServer := NewServer(rpcPort)
2023-03-08 19:25:27 +08:00
go hubServer.Start()
2023-03-23 13:17:06 +08:00
if hubServer.Notification() == nil {
panic("notification is nil")
}
2023-03-23 12:33:25 +08:00
longServer.SetMessageHandler(hubServer.Notification())
2023-03-23 12:49:18 +08:00
hubServer.SetLongConnServer(longServer)
2023-03-08 19:25:27 +08:00
go hubServer.LongConnServer.Run()
wg.Wait()
return nil
}