Ver Fonte

查询登录的客户端

luoyangwei há 1 ano atrás
pai
commit
bb9efe5518
2 ficheiros alterados com 14 adições e 2 exclusões
  1. 11 0
      server/server.go
  2. 3 2
      websocket.go

+ 11 - 0
server/server.go

@@ -191,6 +191,17 @@ func (srv *Server) WebsocketHandler(ctx *gin.Context) {
 	}
 }
 
+func (srv *Server) GetClients() []*Client {
+	srv.clientsMutex.RLock()
+	defer srv.clientsMutex.RUnlock()
+
+	clients := make([]*Client, 0, len(srv.clients))
+	for clt := range srv.clients {
+		clients = append(clients, clt)
+	}
+	return clients
+}
+
 func serverId() string {
 	var id string
 	id, err := machineid.ID()

+ 3 - 2
websocket.go

@@ -4,6 +4,7 @@ import (
 	"flag"
 	"fmt"
 	"log"
+	"net/http"
 	"strings"
 	"time"
 
@@ -44,8 +45,8 @@ func newApp() *gin.Engine {
 	srv := server.NewServer()
 	app.GET("/websocket/endpoint", func(ctx *gin.Context) { srv.WebsocketHandler(ctx) })
 	app.GET("/websocket/clients", func(ctx *gin.Context) {
-		// clients := srv.Hub.GetClients()
-		// ctx.JSON(http.StatusOK, gin.H{"clients": clients})
+		clients := srv.GetClients()
+		ctx.JSON(http.StatusOK, gin.H{"clients": clients})
 	})
 	return app
 }