diff --git a/server/topic_proxy.go b/server/topic_proxy.go index e3f83f2..7e9e802 100644 --- a/server/topic_proxy.go +++ b/server/topic_proxy.go @@ -57,7 +57,10 @@ func (t *Topic) runProxy(hub *Hub) { case msg := <-t.serverMsg: if msg.Data != nil { - t.broadcastToSessions(msg) + if err := globals.cluster.routeToTopicIntraCluster(t.name, msg, msg.sess); err != nil { + logs.Warn.Printf("topic proxy[%s]: route server data to master failed - %s", t.name, err) + t.handleProxyBroadcast(msg) + } } else if msg.Info != nil || msg.Pres != nil { globals.cluster.routeToTopicIntraCluster(t.name, msg, msg.sess) } else {