mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-07 16:16:37 +08:00
[优化] 提升WS连接稳定性
This commit is contained in:
@@ -465,6 +465,9 @@ func computeNodeStatus(node *model.Node) string {
|
|||||||
if node == nil {
|
if node == nil {
|
||||||
return NodeStatusOffline
|
return NodeStatusOffline
|
||||||
}
|
}
|
||||||
|
if node.NodeType == "tunnel_relay" && IsRelayWSConnected(node.NodeID) {
|
||||||
|
return NodeStatusOnline
|
||||||
|
}
|
||||||
if IsAgentWSConnected(node.NodeID) {
|
if IsAgentWSConnected(node.NodeID) {
|
||||||
return NodeStatusOnline
|
return NodeStatusOnline
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -359,12 +359,15 @@ func buildNodeView(node *model.Node) *NodeView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func nodeViewLastSeenAt(node *model.Node) any {
|
func nodeViewLastSeenAt(node *model.Node) any {
|
||||||
if node != nil && IsAgentWSConnected(node.NodeID) {
|
|
||||||
return AgentWSConnectedLastSeenValue
|
|
||||||
}
|
|
||||||
if node == nil {
|
if node == nil {
|
||||||
return time.Time{}
|
return time.Time{}
|
||||||
}
|
}
|
||||||
|
if node.NodeType == "tunnel_relay" && IsRelayWSConnected(node.NodeID) {
|
||||||
|
return RelayWSConnectedLastSeenValue
|
||||||
|
}
|
||||||
|
if IsAgentWSConnected(node.NodeID) {
|
||||||
|
return AgentWSConnectedLastSeenValue
|
||||||
|
}
|
||||||
return node.LastSeenAt
|
return node.LastSeenAt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
|
const (
|
||||||
|
RelayWSConnectedLastSeenValue = "__OPENFLARE_WS_CONNECTED__"
|
||||||
|
)
|
||||||
|
|
||||||
var DefaultRelayWSHub = NewWSHub("relay")
|
var DefaultRelayWSHub = NewWSHub("relay")
|
||||||
|
|
||||||
func RegisterRelayWSClient(nodeID string) *WSClient {
|
func RegisterRelayWSClient(nodeID string) *WSClient {
|
||||||
|
|||||||
Reference in New Issue
Block a user