Jelajahi Sumber

[fix]修改

Zhangzhenhua 2 minggu lalu
induk
melakukan
0398138d77

+ 1 - 3
api/v1/common/chat.go

@@ -3,9 +3,7 @@ package common
 import "github.com/gogf/gf/v2/frame/g"
 
 type ChatReq struct {
-	g.Meta  `path:"/chat" tags:"Chat" method:"get" summary:"WebsocketDemo"`
-	Name    string `v:"required" json:"name" dc:"name"`
-	Channel string `v:"required" json:"channel"  dc:"channel"`
+	g.Meta `path:"/Websocket" tags:"Chat" method:"get" summary:"WebsocketDemo"`
 }
 
 type ChatRes struct {

+ 4 - 3
internal/cmd/cmd.go

@@ -17,12 +17,13 @@ var (
 		Brief: "start http server",
 		Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
 			s := g.Server()
-			s.Group("/api", func(group *ghttp.RouterGroup) {
+			//测试路由
+			s.Group("/test", func(group *ghttp.RouterGroup) {
 				group.Middleware(ghttp.MiddlewareHandlerResponse)
 				group.Bind(new(controller.LoginController))
 			})
-
-			s.Group("/chat", func(group *ghttp.RouterGroup) {
+			//websocket路由
+			s.Group("/websocket", func(group *ghttp.RouterGroup) {
 				group.Middleware(ghttp.MiddlewareHandlerResponse)
 				group.Bind(new(controller.WebsocketController))
 			})

+ 2 - 2
internal/controller/auth_controller.go

@@ -16,12 +16,12 @@ type LoginController struct {
 // 登录处理方法
 func (c *LoginController) Login(ctx context.Context, req *common.LoginReq) (res *common.LoginRes, err error) {
 
-	r := g.RequestFromCtx(ctx) // 获取 *ghttp.Request
+	r := g.RequestFromCtx(ctx)
 	if err := r.Parse(req); err != nil {
 		r.Response.WriteJsonExit(g.Map{"error": err.Error()})
 	}
 
-	// 调用服务层进行业务逻辑处理
+	// 调用服务层进行逻辑处理
 	res = c.LoginService.Login(req)
 
 	r.Response.WriteJson(res)

+ 2 - 2
internal/controller/websocket_controller.go

@@ -13,12 +13,12 @@ type WebsocketController struct {
 	WebsocketService *service.WebsocketService
 }
 
-func (c *WebsocketController) Chat(ctx context.Context, req *common.ChatReq) (res *common.LoginRes, err error) {
+func (c *WebsocketController) Websocket(ctx context.Context, req *common.ChatReq) (res *common.LoginRes, err error) {
 	r := g.RequestFromCtx(ctx)
 	if err := r.Parse(req); err != nil {
 		r.Response.WriteJsonExit(g.Map{"error": err.Error()})
 	}
 
-	c.WebsocketService.Chat(r, req)
+	c.WebsocketService.WebSocket(r, req)
 	return nil, nil
 }

+ 1 - 1
internal/service/auth_service.go

@@ -7,7 +7,7 @@ import (
 type LoginService struct{}
 
 func (s *LoginService) Login(req *common.LoginReq) *common.LoginRes {
-	// 在这里进行具体的登录逻辑处理
+	// 在这里进行具体的逻辑处理
 
 	return &common.LoginRes{
 		Message: "Login successful",

+ 4 - 7
internal/service/websocket_service.go

@@ -14,22 +14,19 @@ import (
 // 维护 WebSocket 客户端连接池
 var clients = make(map[*websocket.Conn]bool)
 var broadcast = make(chan string) // 广播消息的通道
-var mu sync.Mutex                 //用于管理并发访问
+var mu sync.Mutex                 //互斥锁
 
 type WebsocketService struct{}
 
-func (s *WebsocketService) Chat(r *ghttp.Request, req *common.ChatReq) {
-	if req.Name != "chat" {
-		return
-	}
+func (s *WebsocketService) WebSocket(r *ghttp.Request, req *common.ChatReq) {
 
 	// 升级 HTTP 请求为 WebSocket
 	upgrader := websocket.Upgrader{
 		CheckOrigin: func(r *http.Request) bool {
 			return true
 		},
-		ReadBufferSize:  512,
-		WriteBufferSize: 512,
+		ReadBufferSize:  1024,
+		WriteBufferSize: 1024,
 	}
 
 	// 建立 WebSocket 连接

TEMPAT SAMPAH
main.exe~