|
@@ -3,18 +3,15 @@ package server
|
|
|
import (
|
|
|
"sync"
|
|
|
|
|
|
+ "sikey.com/websocket/config"
|
|
|
"sikey.com/websocket/utils/zlog"
|
|
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
|
)
|
|
|
|
|
|
type HubConfig struct {
|
|
|
- ConnectSize int
|
|
|
- DisconnectSize int
|
|
|
- MessageSize int
|
|
|
- ServerId string // serverId 服务器ID
|
|
|
-
|
|
|
- Rdb redis.UniversalClient
|
|
|
+ ServerId string // serverId 服务器ID
|
|
|
+ Rdb redis.UniversalClient
|
|
|
}
|
|
|
|
|
|
type Hub struct {
|
|
@@ -38,9 +35,9 @@ func NewHub(cfg HubConfig) *Hub {
|
|
|
clients: make(map[string]*Client),
|
|
|
mutex: sync.RWMutex{},
|
|
|
|
|
|
- Connect: make(chan *Client, cfg.ConnectSize),
|
|
|
- Disconnect: make(chan *Client, cfg.DisconnectSize),
|
|
|
- Message: make(chan *Message, cfg.MessageSize),
|
|
|
+ Connect: make(chan *Client, config.Websocket.ConnectSize),
|
|
|
+ Disconnect: make(chan *Client, config.Websocket.ConnectSize),
|
|
|
+ Message: make(chan *Message, config.Websocket.MessageSize),
|
|
|
}
|
|
|
hub.exchange = NewExchange(cfg.ServerId, cfg.Rdb)
|
|
|
|
|
@@ -55,7 +52,7 @@ func (h *Hub) run() {
|
|
|
|
|
|
h.mutex.Lock()
|
|
|
h.clients[client.UserId] = client
|
|
|
- h.exchange.OnPublishConnect(client)
|
|
|
+ // h.exchange.OnPublishConnect(client)
|
|
|
h.mutex.Unlock()
|
|
|
|
|
|
case client := <-h.Disconnect:
|
|
@@ -63,7 +60,7 @@ func (h *Hub) run() {
|
|
|
h.mutex.Lock()
|
|
|
close(client.Send)
|
|
|
delete(h.clients, client.UserId)
|
|
|
- h.exchange.OnPublishDisconnect(client)
|
|
|
+ // h.exchange.OnPublishDisconnect(client)
|
|
|
h.mutex.Unlock()
|
|
|
|
|
|
case message := <-h.Message:
|