mirror of https://github.com/kone-net/go-chat.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
664 B
39 lines
664 B
package router |
|
|
|
import ( |
|
"chat-room/internal/server" |
|
"chat-room/pkg/global/log" |
|
"net/http" |
|
|
|
"github.com/gin-gonic/gin" |
|
"github.com/gorilla/websocket" |
|
"go.uber.org/zap" |
|
) |
|
|
|
var upGrader = websocket.Upgrader{ |
|
CheckOrigin: func(r *http.Request) bool { |
|
return true |
|
}, |
|
} |
|
|
|
func RunSocekt(c *gin.Context) { |
|
user := c.Query("user") |
|
if user == "" { |
|
return |
|
} |
|
log.Logger.Info("newUser", zap.String("newUser", user)) |
|
ws, err := upGrader.Upgrade(c.Writer, c.Request, nil) |
|
if err != nil { |
|
return |
|
} |
|
|
|
client := &server.Client{ |
|
Name: user, |
|
Conn: ws, |
|
Send: make(chan []byte), |
|
} |
|
|
|
server.MyServer.Register <- client |
|
go client.Read() |
|
go client.Write() |
|
}
|
|
|