package main
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
"github.com/gorilla/websocket"
)
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
}
func main() {
router := gin.Default()
router.GET("/ws", func(c *gin.Context) {
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
fmt.Println("升级失败:", err)
return
}
defer conn.Close()
for {
_, msg, err := conn.ReadMessage()
if err != nil {
fmt.Println("读取消息失败:", err)
break
}
fmt.Printf("收到消息: %s
", msg)
err = conn.WriteMessage(websocket.TextMessage, msg)
if err != nil {
fmt.Println("发送消息失败:", err)
break
}
}
})
err := router.Run(":8080")
if err != nil {
fmt.Println("启动服务器失败:", err)
}
}
gin 实现 websocket 服务端代码
最新推荐文章于 2024-06-18 14:38:53 发布